SQL Server Generate Script Ile Yedek Almak

SQL Serveriniz üzerindeki veri tabanlarını bir kaç yöntemle kolayca yedekleyebilirsiniz. Örneğin task oluşturarak, SQL Agent aracılığı ile belli zaman aralıklarında yedekleme yapabilir, ya da veri tabanını bir yerden bir yere taşımak isterseniz attach, detach işlemi yapabilirsiniz bunun dışında script oluşturma yöntemi ile yani şimdi anlatacağım şekilde de SQL sunucunuzun versiyonuna bakılmaksızın veri tabanı dosyanızı bir yerden bir yere taşımanız mümkün.

Yedekleme yapmak istediğiniz veri tabanı üzerinde sağ tıklayarak Tasks>Generate Scripts seçeneğini seçiyoruz

Tanıtım ekranını Next ile geçiyoruz

Choose Objects adımında ister tüm database’i isterseniz de tablo bazlı yedek almanız mümkün. Eğer ki siz tüm database’i yedeklemek istiyorsanız bu adımda herhangi bir değişiklik yapmanıza gerek olmayacaktır.

Set Scripting Options ekranı bizim için önemlidir, bu adımda dışa aktarılan database in içindeki verilerin aktarılması ve hangi versiyon sql sunucuda açılması gibi bazı ayarları yapabileceğimiz adımdır.

FileName  alanı databaseimizin kaydolacağı yeri göstermektedir, bu adımda dışa aktarım dosyası nereye kaydetmek istiyorsanız o dizini gösterebilirsiniz. Advanced seçeneğine basarak gerekli ayarları yapmaya devam edelim.

Advanced sekmesinde açılan ekranda Script for Server Version seçeneğinde karşı taraftaki sunucunun versiyonuna göre ayarlanmalıdır. Benim tercihim düşük versiyon olarak kaydetmeniz olacaktır. Bu versiyon ayarı yapılmadığında veri tabanı karşı sunucuda açılmayacaktır.

Bir diğer önemli adım ise Tablolar üzerindeki verilerin taşınıp taşınmayacağının karar verilmesidir. Bu adımda Schema only seçeneği ile sadece boş tabloları taşırsınız fakat içerisine girdiğiniz veriler taşınmayacaktır. Schema and data seçeneği ile hem tablolar hem de içine girdiğiniz veriler oluşturduğumuz script içerisinde aktarılacaktır. Bu adımda Schema and data seçimi duruma göre doğru olacaktır.

Yaptığımız ayarların son değişikliklerini görebileceğimiz ekran eğer, başka bir değişiklik planlamıyorsak Next ile devam edip bitirebiliriz.

Finish butonuna bastığımızda Verinin büyüklüğüne bağlı olarak script çalışıp database I dışarıya aktaracaktır.

Dışa aktarılan veri tabanı dosyası eğer file name alanında değişiklik yapmamışsanız c:%username%Documents dizininde script.sql adında olacaktır.

Veri tabanımızı dışa aktardık ve taşımak istediğimiz bilgisayar/sunucu üzerine kopyaladık bunu nasıl içe aktarabiliriz buna bakalım.

.sql uzantılı dosyaya sağ tıklayarak SQL Server Management Studio uygulaması ile birlikte açmamız gerekmektedir.

Sunucu üzerinde gerekli kullanıcı adı ve şifreyi girerek Management Studio ya login oluyoruz.

Sorgu alanında script yedeğimiz açık iken, üst alandan Execute ya da klavyeden F5 tuşuna basarak yedeği içeri aktarmak mümkün olacaktır. Bu adımda dikkat edilmesi gereken bir diğer konu ise bazen veritabanı tasarımcıları sql sunucunun kurulu olduğu dizine veritabanını oluşturmazlar, bu gerek veri tabanının büyüdüğünü düşünürsek, gerekse C diskine virüs vs. olabileceği düşüncesi ile çok da önerilmez aslında. Konuyu fazla dağıtmadan FILENAME alanında MDF (Master Data File) ve LDF (Log Data File) dosyaları mevcuttur ve bunları nereye konumlandıracağı. Bu dizinin olması gerektir ki, veri tabanı bu alana kendisini taşıyabilsin. Bizim bu örneğimizde C diski altında Otel adında bir klasör var ve bu klasör altına veri tabanımız taşınacaktır. Eğer ki biz C dizininde Otel adında bir klasör oluşturmaz isek ya da yok ise muhtemelen permission denied gibi bir hata ile karşılaşacaksınızdır.

SQL Server 2012 Kurulumu ve Alınabilinecek Hatalar

Sql Server; Structured Query Language(Yapılandırılmış Sorgu Dili) birçok kişi tarafından bir programlama dili olarak görülse de bir programlama dili değil, verileri işleyebilmemiz için sorgulama dilidir. Örnek vermek gerekirse verilerin tutulduğu bir çeşit depodur. Biz bu depo üzerinde yeni kayıt ekleyebilir, silebilir ya da buradaki veriyi değiştirerek kayıtlarımızı bu depo üzerinde tutabiliriz.

SQL Server kurulum sihirbazı sql’e ait olan tüm bileşenleri tek bir panel üzerinde toplayarak sql üzerine tek seferde yüklememizi sağlar.

·Database Engine

·Analysis Services

·Reporting Services

·Integration Services

·Replication

·Management tools

·Connectivity components

·Sample databases, samples, and SQL ServerBooks Online

SQL Server’dan kısaca bahsettikten sonra nasıl kurulum yapabileceğimize değinelim!

Kurulum yapabilmemiz için öncelikle aşağıdaki maddeleri inceleyelim

-Önerim; Eğer Windows 7 / Vista işletim sistemine kurulum yapmayı planlıyorsak öncelikle UAC’yi devre dışı bırakmalıyız. Bu konu hakkında ilgili makaleyi inceleyebilirsiniz UAC’yi devre dışı bırakmak için tıklayınız…

-Windows PowerShell 4.0 http://www.microsoft.com/en-us/download/details.aspx?id=40855

-Server 2008 ve altı windows versiyonlarda Windows Powershell 3.0 gereksinimi karşılıyor olacaktır http://www.microsoft.com/en-us/download/details.aspx?id=34595

-Microsoft .Net Framework 4.5 http://www.microsoft.com/en-us/download/details.aspx?id=30653

-Önerim; Windows Firewall’ımızı kapalı konuma getirmemiz gerekmektedir ya da http://technet.microsoft.com/en-us/library/cc646023.aspxburadaki makale yi inceleyerek gerekli portları açabilirsiniz.

-SQL Server donanım ve yazılım gereksinimlerini daha detaylı incelemek için http://msdn.microsoft.com/en-us/library/ms143506.aspxburadan yararlanabilirsiniz.

-Firewall ı kapatmak için

Başlat/Denetim Masası /Windows Firewall yolunu takip ediyoruz

Turn Windows Firewall on or off

Gelen ekrandan Turn off Windows Firewall (not recommended) i seçerek

Güvenlik duvarımızı kapalı konuma getirelim

         Bunun dışında önerim, bilgisayar adının da arada – ya da başka noktalama işaretleri olmadan kuruluma geçilmesi daha sonra problem çıkma olasılığını düşürdüğü inancındayım.

Bu adımları tamamladıktan sonra kuruluma geçebiliriz. Kurulum cd sini bilgisayarıma yerleştiriyorum

SQL Server kurulumu yapabilmemiz için yukarıda da belirttiğim gibi .Net Framework 3.5 sp1 ve Windows Installer 4.5kurulu olması gerekiyor. Eğer bu kütüphaneler bilgisayarınızda yüklü değilse kuruluma başlamadan bu uygulamaları yüklemeniz için karşınıza bir ekran çıkacaktır, adımları takip ederek kurulumu gerçekleştirebilirsiniz. Şimdi kuruluma geçelim SQL Server’in takılı olduğu dvd yi çalıştırarak kurulum sihirbazını başlatalım

Sol taraftaki menüden installation kısmını seçerek New SQL Server stand-alone installation or add features to an existing installationseçeneğini seçelim

Kurulum sihirbazı daha önceden bir sql serverimizin olup olmadığını denetleyecektir eğer daha önceden bir kurulum yapılmış ise upgrade için adımları görebilirsiniz. Eğer herhangi bir failed almamışsanız kuruluma devam edebiliriz.

Gelen ekranda product keyimizi girerek bu ekranı ve Lisans anlaşması ekranlarını Next ile devam edelim.

Sunucunuz için Eğer update varsa SQL için bu adımda ürün güncelleştirmelerini çalıştıracaktır.

Bu adımda ön gereksinimlerin kontrolü sağlanmakta, eğer herhangi bir Failedalıyorsanız kuruluma devam etmeden bu sorunu gidermeniz gerekecektir. 

İstediğimiz bileşenleri kurabilmemiz için SQL Server Feature Installationkutucuğunu seçerek devam ediyoruz. (Diğer bileşenlerden de kısaca bahsetmek istiyorum. SQL Server PowerPivot for Sharepoint (Sharepoint Excel belge kitaplıklarına eklenen bir iş zekası uygulamasıdır ) Kurulumu için http://technet.microsoft.com/tr-tr/library/ee637629%28v=sql.105%29.aspx buradan yararlanabilirsiniz. Diğer seçeneğimiz olan All features with defaults. Tüm servislerin varsayılan değerlerle kurmamızı sağlar.)

SQL sunucuya yüklenmesi planlanan özelliklerin seçimini yapıyoruz. Ben burada tüm bileşenlerin kurulmasını istediğim için select all seçimini yaptım.

Kurulumun herhangi bir block la karşılaşmaması için son kontrol de yapılıyor Next ile devam ediyoruz.

Bu adımda SQL sunucuya hangi isimle (instance name) ile bağlanmak istiyorsanız bu ismi girebilirsiniz. Ya da default instance ile devam edebilirsiniz. Eğer sunucu üzerinde birden fazla SQL kurulmuşsa Named instance seçimi yapılarak bir isim girilmelidir. Inctance root directory kurulumun hangi dizine yapılacağına dair bize bilgi vermektedir, istenirse bu dizin değiştirilebilinir.

Hard Diskimizde kurulumu yapabilmemiz için yeterli alan olup olmadığının kontrolü yapılıyor Next ile devam ediyorum.

Bu adımda SQL sunucunuzun hangi servislerle başlatılacağı ya da otomatik mi yoksa manuel mi başlatılacağı gibi ayarları yapabileceğimiz ekran burası,isterseniz bu şekilde bırakabilirsiniz ya da sistem içerisinde bir kullanıcı açarak bu kulanıcıları yukarıdaki servislere atayabilirsiniz. Ben burada dört tane kullanıcı oluşturdum. Sqlagent, sqldb,sqlrapor, sqlanaliz olarka ve bu servislere atamasını yaptım.

Collation tabı önemli bir tabdır, özellikle sql server kurulumu system center bileşenleri için kurmanız gerekiyorsa Türkçe deki harflerin de desteklendiği SQL_Latin1_General_CP1_CI_AS ve Latin1_General_CI_AS olrak tanımlanması gerek buradaki değerler Denetim Masasından Dil ve Bölge ayarları değerlerine göre otomatik olarak gelmektedir. Buradaki dil seçeneğini daha sonradan değiştirilemediğini hatırlatmak isterim. Eğer siz Logo ve ya Netsis gibi ERP programı kulanıyorsanız bu ayar türkçe olarak kalabilir.

Database Engine Configurationsekmesinde ise windows authentication mode ve mixed mode önemlidir. Windows authentication mode domain üzerindeki yada local kullanıcınız ile hiçbir şifre girmeden bağlanabilmenizi sağlar mixed mode ise ip üzerinden sql servera bağlanmamız gerektiğinde kullanıcı adı ve şifre girerek uzaktan bağlanmamıza yarayan moddur. Mixed modu seçiyorum ve complex bir şifre belirtiyorum ayrıca add current user seçeneğini seçerek kurulum yapan kullanıcıyı da bu sql server için yönetici olarak atamasını yapıyorum.

Data Directories sekmesi üzerinde veritabanlarının hangi disk üzerinde tutulması isteniyorsa bunun konumunu ayarlayabilirsiniz.

Analysis Services Configuration sekmesinde İş zekası (BI) için analizler yapmanız gerekiyor ise Multimdimensional and data Mining mode ve Tabular Mode bazı analizleri desteklemektedir http://technet.microsoft.com/en-us/library/hh212940.aspx bu sayfada bununla ilgili karşılaştırmalara göz atabilirsiniz. Add current User seçimi ve yine sql üzerinde yönetici hesapların tanımlamasını yapabilmek için add butonu ile kullanıcılarımı ekliyorum.

Data Directories sekmesinde Log dosyalarının Backup dosyalarının veya geçici dosyaların hangi konumda olması gerekiyorsa gerekli yeri gösterebilirsiniz.

Reporting Servisinin varsayılan değerlerle kurulmasını istediğim için herhangi bir değişiklik yapmıyorum

Distributed Replay Controller sekmesine yine gerekli kullanıcıları ekleyerek kurulumuma devam ediyorum.

Bu adımıda Next ile geçiyorum.

Send Windows and SQL Server Error Reports to Microsoft or your corporate report server i işaretleyerek SQL server üzerinde aldığınız hataların microsoft a gönderilmesini sağlayıp ürünün geliştirmesine yardımcı olabilirsiniz.

Kurulumun hata vermemesi için bazı kurallar kontrol ediliyor, bu adım sonrası sql kurulum için hazır olacaktır.

SQL sunucunuz kurulum için hazır. Install butonuna basarak kurulumu başlatabiliriz. Kurulum bilgisayarınızın hızına göre zaman alabilir.

Eğer bu ekranı görüyorsanız kurulumunuz başarıyla tamamlanmış demektir.

Başlangıçta baktığınızda SQL Server Management kısayolunu görebilirsiniz. Buna tıklayarak sql e login olalım

Burada Server type kısmını açtığınızda amacınıza yönelik olarak reporting, analysis yada database engine gibi uygulamalara giriş sağlayabilirsiniz.

Server Name kurulum yaparken bir instance name girmiştik hatırlarsanız default olarak bırakmıştık hatta, bu alanda instance name i bize sormaktadır. Eğer default olarak seçili bırakmışsanız bilgisayar adınız ya da . (nokta) işareti ile giriş sağlayabilirsiniz.

Authentication windows un credential’ı ile giriş yapmak istiyorsanız bu alanda yetkili olan kullanıcının database e erişim yetkisi var ise giriş yapabilmesini sağlar. Burada SQL Server Authentication seçilmişse default olarak oluşan sa kullanıcısı ile

mixed mode seçtiğimizde verdiğimiz şifreyi yazarak giriş yapabiliriz.

Giriş yaptığımızda Security -> Logins -> sa kullanıcısının otomatik olarak oluştuğu gözlemlenebilir. Bazen kurulum yaptığınızda bu kullanıcı aktif gelmeyebilir, giriş yapamıyorsanız windows authenticated mode ile giriş yaparak bu kullanıcının aktif olup olmadığını kontrol etmeniz gerekebilir.

Eğer kurulum bittiğinde sql e bağlantı sağlayamıyorsanız bakmanız gereken birkaç bölüm daha var.

Başlat menüsünde SQL Server Configuration Manager bölümündeki servislerin çalışıp çalışmadığını kontrol etmemiz gerekiyor.

SQL Server Services bölümünü açtığınızda orada birçok servisin çalıştığını gözlemlemekteyiz fakat bu bazen SQL Server servisi stop olmuş şekilde gelebilmektedir bu servisin çalıştığını kontrol ediniz.

Eğer SQL Sunucunuz üzerine ip adresinden bağlanmak istiyorsanız ve bağlanamıyorsanız buradaki ayarın TCP/IP enabled olup olmadığını kontrol etmeniz gerekicek bunun dışında üzerine iki kere tıkladığınızda açılan menüden

IP Adresses tabına geldiğinizde IP1 ve IP2 sekmesinin Yes olduğuna sunucumuzun ip adresinin doğru olduğunu kontrol etmemiz problem çözmede bize yardımcı olacaktır. Ayrıca orada yazan ip adresi ve portu da ayarlayıp modem ya da router’ıniz üzerinden bu porta gelen istekleri ip’ye yönlendirmeniz gerekmektedir. Firewallınız varsa yine aynı şekilde gerekli izinleri tanımlamalıyız.

Bunun dışında oluşabilecek bir problem de logların dolması olayıdır. Bazen Event Viewer a baktığımızda (masaüstündeki bilgisayarım simgesine sağ tıklayıp yönet dediğimizde event viewer i görebilirsiniz) birçok hata mesajı ile karşılaşabiliriz. Sql in de servisleri çalışıyor olmasına rağmen SQL Server’ı başlatamadığımızı gözlemleyebiliriz bu gibi durumlarda bazen log dosyalarını incelediğimizde problemi anlayamayabiliriz log dosyalarının fazla şişmesinden dolayı sql sunucunuz çalışmıyor olabilir. Logları silerek tekrar sql e bağlanmayı deneyebilirsiniz…

Bu makalemde sql server kurulumunu ve kurulum sonrası alınabilecek küçük problemlere değinmeye çalıştım.

Bir başka makalede görüşmek ümidiyle sevgiyle kalın…

SQL Server Nasıl Kaldırılır

Son günlerde SQL server kurulum makaleleri görüyorum, fakat bir çok kişi tarafından SQL sunucuyu kaldırdık fakat şimdi kuramıyoruz diye geri dönüşler alıyorum bu eksikliği gidermek adına SQL server nasıl kaldırılır anlatmaya çalışacağım. SQL sunucu doğru bir şekilde kaldırılmadığı zaman evet bu şekilde kurulmama, setup ekranında kurulum sihirbazının kaybolması ya da hata verip kapanması gibi bazı problemlerle karşılaşılınabilinir, bunun sebebi bilgisayarda düzgün kaldırılmayan sql e ait kalıntıların olmasıdır.

SQL server kurulumu yapılırken bir çok bileşen i de beraberinde kuruyor, gözlemledğim kadarıyla da kullanıcılar sql server i kaldırmaya bileşenlerden başlıyorlar, tekrar ihtiyaç olup kurulum yapılmak istendiğinde ise kurulum yapılamıyor.

*Bu işleme geçmeden önce, SQL sunucunuz üzerindeki veritabanlarının yedeklerini aldığınızdan emin olunuz.

SQL Sunucuda diğer standart programlar gibi denetim masasında ki program ekle kaldır üzerinden kaldırılır.

SQL Sunucunuzun versiyonuna bağlı olarak Microsoft SQL Server 2012 (64-bit) yazan uyglamanın üzerinde sağ tıklayarak uninstall/change i seçmemiz gerek.

Gelen ekran da Add / Repair / Remove şeklinde üç seçenek gelir. Add Sisteminize yeni bir instance ile SQL sunucu eklemenizi sağlar. Repair SQL sunucu birşekilde bozulduğunda, bozulan dosyaları onarımı için kullanılıyor bizim amacımız sunucuyu kaldırmak olduğu için Remove seçeneğini çalıştırıyoruz.

Gelen ekran yine kurulumdaki ekranlar gibi fakat budefa tam tersi olacaktır. Gelen ekranı ok diyerek geçiyoruz.

Burada hangi instance nameli sunucuyu kaldırmak istiyorsanız bu sunucuyu seçmeniz gerekiyor. (Bu durum aynı server üzerinde birden fazla SQL server kurulmuş ise seçilmelidir. Tek SQL server kurulu ise herhangi birşey yapmadan next tuşuna basılmalıdır.)

Bu adımda SQL server kurulumu yaparken seçtiğimiz özelliklerden hangilerini kaldırmak istediğimizi soruyor. Ben tümünü kaldırmak istediğim için Select All seçeneğini seçerek next tuşu ile ilerliyorum.

Bu adımı da Next ile geçiyoruz

Bir sonraki adımda silinicek özelliklerin özetini bu ekranda görebilirsiniz. Remove butonuna bastığımızda buradaki listedeki bileşenlerin tümü silinecektir.

Silme işlemi başladı J

Silme işleminin başarıyla tamamlandığına dair bilgi ekranıdır. Şimdi istenildiği taktirde Program Files altındaki Microsoft SQL Server klasörünü silebilir ya da opsiyonel olarak 3.parti bir programla kayıt defterindeki girdileri silebilirsiniz.(Ben kayıt defterindeki girdileri silmiyorum)

Umarım faydalı bir yazı olmuştur. Bir sonraki makalemde görüşmek ümidiyle

Sistemciler için sql serisi 2

Bir önceki makalemizde SQL Serverin ne işe yaradığını tabloları nasıl oluşturabileceğimize değinmiştik. Bu makalede oluşturmuş olduğumuz ya da hali hazırda olan veri tabanımızı nasıl yedekleyip daha sonra yedekten nasıl geri dönebileceğimize değineceğiz. Ayrıca, var olan bir veri tabanı nasıl attach edilir ve daha sonrasında nasıl detach edilir bu konulara yer vermeye çalışacağım.

SQL Server da Backup (Yedek) Nasıl Alınır?

Daha önce oluşturmuş olduğumuz ya da varolan veri tabanımızın üzerinde sağ tıklayarak Tasks>Backup yolunu izliyelim

Varsayılan yedekleme yeri

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQ\LBackup klasörüdür.

Fakat ben burada yedeğimi daha güvenli olması açısından D Diskimde ya da ağda başka bir yere yedekleme yapmak istiyorsam Destination kısmındaki Remove butonuna basarak yolu seçebilirim. Ve seçip başka bir yere de kaydedeceğim fakat öncesinde kısaca bu menüyü tanıtmak istiyorum size en üstte Source kısmında;

Database; Hangi veri tabanının yedekleneceğini seçmemize yarar

Backup Type; olarak 2 çeşit yedeklemeye izin vermektedir ya full backup yapabilirsiniz yani herşeyi yedeklersiniz. Ya da Diffrential yedekleme yapabilirsiniz bunun dışında birde Transaction Log ları da yedekleyebilirsiniz. Sol üst köşeden Options kısmına tıkladığımızda ise;

Yedeklemenin ayarlarını yapabileceğimiz ekran bizi karşılıyor. Overwrite media seçeneğinde Append to the existing backup set seçeneği eğer aynı isimde bir database var ise içine yeni alınan veriyi ekler. Bence bu varsayılan olarak kalması iyidir. Overwrite all existing backup sets seçeneği ise tüm datayı silip yeni datayı aynı isimle yedekler ayrıca burada Reliability seçeneği ile Verify backup when finished seçeneği ile yedek aldıktan sonra bu yedeği doğrulayabilir Compression seçeneği ile veri tabanınızdan yer kazanmak için sıkıştırabilirsiniz fakat sıkıştırmanız bazen veri tabanının geri yükleme esnasında bozulmalar yaşanmasına sebep olmaktadır.

Ben gerekli ayarları yaptıktan sonra genel sekmesine gelerek yedekleme yapılacak yeri seçiyorum öncelikle destinations kısmında varsayılan yedekleme yerine remove diyorum. Ve add seçeneği ile diskimdeki yedeklenecek yeri gösteriyorum

Yedeğimizin uzantısını “.bak” olarak belirtmemiz gerekiyor. Daha sonra değiştirilen dosya uzantılarında problemler çıkartabiliyor. Yedeklenecek yeri gösterdikten sonra okey diyerek tüm ekranları kapatıyorum ve yedekleme işlemi başarı ile tamamlanıyor. Eğer yedekleme işleminden herhangi bir hata almışsanız, dizin üzerindeki NTFS izinlerini kontrol ediniz. Yedekleme işlemi bu kadar.

SQL Serverda Restore işlemi (Geri Yükleme) Nasıl Yapılır?

Database üzerinde sağ tıklıyoruz ve Restore Database i seçiyoruz.

Çıkan ekranda source for restore kısmından From device ı seçerek yedeklediğimiz nerede bunu göstermemiz gerekiyor.

Yedeğimizin yolunu gösterdikten sonra okey tuşuna basıyoruz.

Çıkan ekranda destination for restore sekmesinde yeni eklediğiniz database i burada göreceksiniz bunu seçerek alt kısımda select the backup sets to restore sekmesindeki restore tikini işaretleyin ve okey dediğinizde restore yani geri yükleme işlemi tamamlanmış oluyor. Yeri gelmişken Attach nasıl yapılır ona da değinelim. Database in üzerinde sağ tıklayıp Attach a tıklayalım

Database imizin .mdf dosyası neredeyse yolunu gösteriyoruz ve okey diyoruz.

Çıkan ekranda hiçbir şeyde değişiklik yapmadan okey tuşuna basarak veritabanını sisteme dahil etmiş oluyoruz.

Sisteme dahil olmuş veritabanımız aynı mail e bir ek dosya eklenmiş gibi veritabanımızda barınır. Delete derseniz tüm veritabanı silinir fakat eğer siz bu veritabanını şimdilik kullanmak istemiorsanız deteach edebilirsiniz böylelikle daha sonra istediğiniz zaman tekrar sisteme dahil edebilirsiniz. Detach etmek için daha önceden oluşturduğunmuz databasein üzerinde task>detach kısmını tıklayalım

Veritabanımız dışarıya aktarım için hazırdır. Eğer o anda o veritabanına bağlı olan kişiler varsa sistem hata vericektir bu yüzden drop connections sekmesini seçerek okeye bastığımızda veritabanı dışarı aktarılacaktır.

Bu serimizin de sonuna geldik. Bir sonraki makalede SQL Server Agent rolünü inceliyor olacağız.

Sistemciler için sql serisi 1

Merhaba; bugün yeni bir yazı serisi ile karşınızdayım J Bu yazı serimde neler var peki? SQL Server da tablo oluşturmak, yedeklemek, geri yüklemek, SQL Server Agent ile otomatik yedeklemek, Kısaca bazı T-SQL komutları gibi bilgilere yer vermeye çalışacağım.

SQL Server dediğimizde ne anlıyoruz? Neden SQL Server bunu açıklamak istiyorum öncelikle; SQL Serveri ben daha çok telefon defterine benzetiyorum. Hani eskiden Telekom’un verdiği sarı sayfalı telefon rehberleri vardı ve orada o şehre ait bütün telefon numaraları adresleri vs. yazardı hatırlar mısınız? Hatırladığınızı umuyorum. Biz Telekom’a kayıt olmak isteği için gittiğimizde bizden bir form doldurmamızı isterlerdi. O formda isim, soy isim, adres, vs. gibi bilgileri alırlardı ve bu bilgiler o sarı sayfalı rehberde çıkardı. Siz bir akrabanızın ya da arkadaşınızın telefon numarasını aramak istediğinizde o sarı sayfalı rehberin sayfalarını çevirdiğinizde ihtiyacınız olan numaraya kolaylıkla ulaşabiliyordunuz. SQL server işte böyle bir şey. Öncelikle ihtiyacınız olabilecek tüm veriyi giriyorsunuz daha sonra lazım olduğunda sarı sayfaları çevirip, ihtiyacınız olan bilgiye erişiyorsunuz. İşte bu kadar kolay

İlk olarak sql server üzerinde yeni bir veri tabanı nasıl oluşturulur bu veri tabanına kullanıcı nasıl atanır bunu görelim. (İhtiyacımız olacak veriyi giriyoruz yani J)

Öncelikle SQL Server Management ile sisteme Login olalım

Başlat/Tüm Programlar/Microsoft SQL Server 2008 R2/ SQL Server Management Studio yolunu takip ettiğimizde

Buradaki modlardan SQL Server kurulumu ve alınabilecek hatalar makalesinde yer vermiştik fakat ben yine de kısaca açıklamakta yarar görüyorum Windows Authentication mod kullanıcının fiziksel teması olmadan açılmayacak olan mod dur. Yani kullanıcının SQL Sunucunun karşısına geçip giriş yapması anlamına gelir. SQL server authentication mod ise Kullanıcının gerekli portlar açıldığında ve uygun şartlar sağlandığında uzak bir noktadan bu veritabanına bağlanmasını ve burada oturum açmasını sağlayan moddur. Kullanıcı Server Name kısmına bu sql serverin ip adresini yazar username kısmına kullanıcı adını ve password kısmına da şifresini, connect butonuna tıklandığında erişim sağlanır.

Yani ben şimdi izmirdeyim ve Balıkesir de oturan yazılımcı bir arkadaşım SQL serverime bağlanması gerekiyor bu modu kullanması gerekiyor.

Yeri gelmişken Server Type kısmına da göz atmakta yarar var. Bu kısma tıkladığınızda

· Database Engine

· Analysis Services

· Reporting Services

· SQL Server Compact

· Integration Services

Şeklindedir. Bunlar ne işe yarar derseniz

Database Engine: Üzerinde bizim de çalışacağımız tüm veri kaynaklarını barındıran veri tabanı türüdür

Analysis Engine: Daha çok analiz işlemleri için kullanılır. Örnek vermek gerekirse Business Intelligence (İş Zekası) denen bir olay var. Büyük marketler de her zaman görürsünüz kasanın yakınlarına hep sakız koyarlar bunun sebebi insanlar tam alışverişi bitirecekleri anlarda gözlerine takılıp bu ürünü almaları için. Başka bir örnek vermek gerekirse cici bebe ürünün kenarına süt koymaları gibi. Adamlar düşünmüşler ve markette cici bebe alan bir müşteri yanında ne alıyor diye analiz etmişler ve bunun sonucunda cici bebe alan kullanıcıların % 90 ı alışverişlerinde süt almışlar bu şekilde ürün satışı verimliliği sağlanmakta.

Reporting Services: SQL Server üzerinde yapılan işlemleri raporlamaya yarayan bir servistir.

SQL Server Compact: PDA’lar için tasarlanmış bir veri tabanı servisidir.

Integration Services: Başka bir veri tabanı ile sql server arasındaki entegrasyonu sağlar.

İlgili authentication u seçerek connect diyorum.

Database üzerinde sağ tıklayarak New Database i tıklıyorum

Database Name kısmına anlayabileceğimiz bir isim giriyoruz

Ve ok tuşuna basarak yeni veri tabanımızı oluşturuyoruz. Veritabanımız 2 tür dosyadan oluşuyor. .mdf ve ldf dosya uzantıları .mdf Yani MetaData File yani verilerimizin tutulduğu tür. .ldf buda adım adım logların tutulduğu veri türüdür. Oluşturmuş olduğumuz veri tabanının alt kısımda görünen tables kısmı üzerinde sağ tıklayalaım ve new table i seçerek yeni bir tablo oluşturalım

Burası hangi verilere ihtiyacımız olduğunu tanımladığımız tablo ekranı

Burada sadece dikkat edilmesi gerek konu her verinin bir ID si olmak zorunda oluşu, yani şöyle düşünebiliriz. Her veriye ait bir T.C. Kimlik No gibi. Bu şekilde verinin bütünlüğü sağlanarak farklı verilerin farklı kodları olması sağlanmaktadır. Benim örneğimde KisiID ye primary key atıyorum, bu tabloda T.C. Kimlik No yu üretecek satır bu demek oluyor. J

Klavyeden CTRL+S tuş kombinasyonuna bastığımda yani kaydet ;

Tabloma bir isim kaydetmemi girmemi isteyen bir ekran karşıma geliyor. Tanımlayıcı bir ad girerek tablo nasıl oluşturulur görmüş oluyoruz. Daha sonra bu tabloların bir biri ile ilişkilendirilmesi gerekiyor. Aynı adımla gerekli tabloları oluşturduktan sonra tabloları nasıl birbiri ile ilişkilendirebileceğimizi görelim. Database Diagram üzerinde sağ tıklayarak New Database Diagram diyelim.

Çıkan uyarıyı yes diyerek geçelim ve tüm tabloları seçerek add butonuna basalım

Çıkan ekranda gerekli olan başlıkları, diğer tablolarla ilişkilendirmemiz gerekmekte.

Kişiler listesindeki KisiID ile telefonlar listesindeki KisiID nin birbiri ile bağlantılı olduğunu ifade ediyor. Düşünün ki TC kimlik numarası (KisiID si) 10 olan kişinin “Kisiler” tablosundaki bilgileri şu şekilde

Adı: Davut

Soyadı: EREN

DoğumTarihi: 1981

Memleketi: Balıkesir

Adres: İzmir

Cinsiyeti: Bay

“Telefonlar” tablosundan KisiID si 10 olan kullanıcının bilgilerini sorgula dediğimizde bu bilgiler ekrana gelecektir.

Bu işlemi nasıl yapıyoruz peki? “Kisiler” tablosundaki KisiID bölümünü tutarak “Telefonlar” tablosunun KisiID bölümüne sürükleyip bırakıyoruz. Tablolar kendi aralarında bir ilişki kurmuş oluyor.

TipID ler arasında bir ilişki kuruyoruz.

Çıkan sonuç aşağıdaki gibi olmalıdır.

Bu şekilde tablolar nasıl oluşur ve tablolar arası nasıl ilişki kurulur bu konu hakkında fikir sahibi olduk. Bir sonraki makalede bu tabloları nasıl backup (yedek) alabileceğimize ve nasıl yedekten geri dönebileceğimize (restore) konularına değiniyor olacağız.

SQL Server 2008 R2 Kurulumu ve Kurulum Sonrası Alınabilinecek Hatalar

Sql Server; Structured Query Language(Yapılandırılmış Sorgu Dili) birçok kişi tarafından bir programlama dili olarak görülse de bir programlama dili değil, verileri işleyebilmemiz için sorgulama dilidir. Örnek vermek gerekirse verilerin tutulduğu bir çeşit depodur. Biz bu depo üzerinde yeni kayıt ekleyebilir, silebilir ya da buradaki veriyi değiştirerek kayıtlarımızı bu depo üzerinde tutabiliriz.

SQL Server kurulum sihirbazı sql’e ait olan tüm bileşenleri tek bir panel üzerinde toplayarak sql üzerine tek seferde yüklememizi sağlar.

·Database Engine

·Analysis Services

·Reporting Services

·Integration Services

·Replication

·Management tools

·Connectivity components

·Sample databases, samples, and SQL ServerBooks Online

SQL Server’dan kısaca bahsettikten sonra nasıl kurulum yapabileceğimize değinelim!

Kurulum yapabilmemiz için öncelikle aşağıdaki maddeleri inceleyelim

-Eğer Windows 7 / Vista işletim sistemine kurulum yapmayı planlıyorsak UAC’yi devre dışı bırakmalıyız. Bu konu hakkında ilgili makaleyi inceleyebilirsiniz UAC’yi devre dışı bırakmak için tıklayınız…

-Windows Firewall’ımızı kapalı konuma getirmemiz gerekmektedir

Başlat/Denetim Masası /Windows Firewall

Sol taraftaki menüden Windows firewall’ı kapat ya da aç seçeneğini seçiyoruz

Güvenlik duvarımızı kapalı konuma getirelim

-Bunun dışında bilgisayar adının da arada ya da başka noktalama işaretleri olmadan kuruluma geçilmesi daha sonra problem çıkma olasılığını düşürür.

Bu adımları tamamladıktan sonra kuruluma geçebiliriz. Kurulum cd sini bilgisayarıma yerleştiriyorum

SQL Server kurulumu yapabilmemiz için .Net Framework 3.5 sp1 ve Windows Installer 4.5 kurulu olması gerekiyor. Eğer bu uygulamalar bilgisayarınızda yüklü değilse kuruluma başlamadan bu uygulamaları yüklemeniz için karşınıza bir ekran çıkacaktır, adımları takip ederek kurulumu gerçekleştirebilirsiniz. Eğer işletim sisteminiz Windows Vista / 7 ise zaten yüklü geldiği için böyle bir uyarı ile karşılaşmayacaksınızdır. Şimdi kuruluma geçelim SQL Server’in takılı olduğu dvd yi çalıştırarak kurulum sihirbazını başlatalım

Sol taraftaki menüden installation kısmını seçerek New installation or add features to an existing installation seçeneğini seçelim

Kurulum sihirbazı daha önceden bir sql serverimizin olup olmadığını denetleyecektir eğer daha önceden bir kurulum yapılmış ise upgrade için adımları göreceksinizdir. Eğer herhangi bir failed almamışsanız kuruluma devam edelim

Product keyimizi girdikten sonra next adımı ile bir sonraki ekrana geçelim

Anlaşmayı kabul ederek next diyelim

Sihirbaz kurulum sırasında herhangi bir problem almamamız için sisteminizi kontrol edecektir. Eğer herhangi bir failed yok ise next diyerek sonraki adıma geçelim

Anlaşmayı kabul ederek next diyelim

SQL Server Feature Installation seçeneğini seçerek devam edelim

Çıkan ekranda istediğiniz bileşeni seçerek kuruluma devam edebilirsiniz. Ben burada select all seçimini yaparak kuruluma devam ediyorum

İnstallation rules ekranını eğer herhangi bir hata almamışsanız next diyerek geçiyoruz

Bu adımda sql server için bir instance name girmeniz gerekiyor. Ya da benim gibi default instance name seçeneğini seçerek devam ediyorum. Instance root directory seçeneği ile SQL Server’in başka bir diskte ya da klasörde tutulmasını sağlayabilirsiniz.

Disk üzerinde kurulum yapabilmesi için gerekli boş disk alanını sağlamanız gerekiyor diğer türlü bu ekranda hata uyarısı ile karşılaşabilirsiniz. Next diyerek geçiyorum

Bu adımda tüm servisleri NT AUTHORITYSYSTEM olarak seçtim ve SQL Full-text Filter Daemon Launcher için minumum yetki seviyesine sahip yani user gurubuna üye FDHOST adında bir kullanıcı oluşturdum daha sonra bu kullanıcıyı servis olarak atadım. next diyerek kuruluma devam ediyorum.

Windows authentication mode server üzerindeki yada local kullanıcınız ile hiçbir şifre girmeden bağlanabilmenizi sağlar mixed mode ise ip üzerinden sql servera bağlanmamız gerektiğinde kullanıcı adı ve şifre girerek uzaktan bağlanmamıza yarayan moddur. Mixed modu seçiyorum ve complex bir şifre belirtiyorum ayrıca add current user seçeneğini seçerek kurulum yapan kullanıcıyı da bu sql server için yönetici olarak atamasını yapıyoruz. Next diyerek kuruluma devam ediyorum

Bu ekranda add current user seçeneğini seçerek devam ediyorum isterseniz data directories seçeneğini seçerek veritabanı kurulumunu başka bir klasöre yada disk üzerinde yapmanız mümkün.

Install the native mode default configuration seçeneğini seçerek devam ediyorum

Error reporting, Installation Configuration Rules sayfalarında gelen ekranlarda da next diyerek Ready to Install ekranına geliyorum burada kurulum yapmak için install butonuna basmamız yeterli oluyor kurulum bilgisayarınızın donanımına bağlı biraz zaman alabilir.

Kurulum başarı ile tamamlandı.

Başlat/tüm programlar/Microsoft SQL Server 2008 R2/ SQL Server Management Studio yu açarak kontrol edebilirsiniz

Bu adımda eğer default instance name ile kurulum yapmışsanız server name kısmında bilgisayarınızın adını yazabilir ya da “.” Nokta işareti ile sql de oturum açabilirsiniz.

Authentication sekmesinde default olarak Windows authentication gelmektedir. Siz eğer uzak bir lokasyondaki sql sunucuya bağlanmak istiyorsanız orada sql server authentication seçeneği ile giriş yapmalısınız.

Sql server System Administrator’un kısaltılmışı olarak “sa” adında sql e bağlanabilmemiz için bir admin atar.

Şifresi de kurulum yapıyorken mixed mode u seçip bir paralo belirlemiştik hatırlarsanız o şifre ile giriş yapabilirsiniz.

Eğer kurulum bittiğinde sql e bağlantı sağlayamıyorsanız bakmanız gereken birkaç bölüm daha var. Başlat/tüm programlar/Microsoft SQL Server 2008 R2/ Configuration Tools/SQL Server Configuration Manager bölümündeki servislerin çalışıp çalışmadığını kontrol etmemiz gerekiyor

SQL Server Services bölümünü açtığınızda orada birçok servisin çalıştığını gözlemlemekteyiz fakat bu bazen SQL Server servisi stop olmuş şekilde gelebilmektedir bu servisin çalıştığını kontrol ediniz.

Bu arada yeri gelmişken ip üzerinden bağlanmak isterseniz SQL Server Network Configuration alt tabındaki Protocols for MSSQLSERVER bölümündeki TCP/IP enable olması gerekmektedir. Diğer türlü uzaktan bağlantıyı gerçekleştirmeniz mümkün olmayabilir. TCP/IP üzerine çift tıkladığımızda

Orada yazan ip adresi ve portu da ayarlayıp modem ya da router’ıniz üzerinden bu porta gelen istekleri ip’ye yönlendirmeniz gerekmektedir. Firewallınız varsa gerekli izinleri tanımlamanız gerekmektedir.

Bunun dışında oluşabilecek bir problem de logların dolması olayıdır. Bazen Event Viewer a baktığımızda (masaüstündeki bilgisayarım simgesine sağ tıklayıp yönet dediğimizde event viewer i görebilirsiniz) birçok hata mesajı ile karşılaşabiliriz. Sql in de servisleri çalışıyor olmasına rağmen SQL Server’ı başlatamadığımızı gözlemleyebiliriz bu gibi durumlarda bazen log dosyalarını incelediğimizde problemi anlayamayabiliriz log dosyalarının fazla şişmesinden dolayı sql sunucunuz çalışmıyor olabilir. Logları silerek tekrar sql e bağlanmayı deneyebilirsiniz…

Bu makalemde sql server kurulumunu ve kurulum sonrası alınabilecek küçük problemlere değinmeye çalıştım.

Bir başka makalede görüşmek ümidiyle sevgiyle kalın…

SQL Server kurulumu

Veritabanı Nedir?

Veritabanı; birbirleri ile ilişkili olan verilerin topluca birbirinin aynısı olmayacak şekilde bir arada depolanması durumuna denir.

Veritabanı Çeşitleri Nelerdir?

Microsoft Access

MySQL

IBM DB2

Informix

Microsoft SQL Server

Postgre SQL

Oracle

Interbase

Progress

SQL Server Nedir (Structured Query Language)?

Veri almak, oluşturmak, yönetmek, silmek gibi işlere yarayan en popüler yönetim sunucusudur.

Bu terimleri açıkladıktan sonra gelin SQL Server nasıl kurulur beraber bunu inceliyelim.