Kategoriler
Teknoloji

Detaylı SQL Server Kurulumu

Muhtemelen veritabanlarına yönelik birden fazla yazı hazırlayacağım. Bu yazılar aslında, veritabanlarına dair bir şeyler öğreneyim derken kendime hazırladığım notlar. Farklı kaynaklardan ilerliyorum fakat temel aldığım eğitim Ömer Çolakoğlu’nun Udemy setleri. Bir anlamda yemeğin, suyunun suyundan faydalanıyorsunuz şu an. Yemeği yemek isterseniz: https://www.udemy.com/uctan-uca-sql-server-egitimi/

Öncelikle bir Windows Server kurmamız gerekiyor. Bu kısmı bildiğinizi varsayacağım. Daha sonrasında ise SQLServer iso dosyasını indirip, makinemize atmamız gerekiyor. Dosyaya sağ tıklayarak bağla seçeneğine tıklayacağız. Daha sonrasında da içinde bulunan setup dosyasını yönetici olarak çalıştıracağız.

Sonrasında karşımıza aşağıdaki ekran gelecek. Burası ‘Planning’ kısmı. Sizin ihtiyacınız olan dokümantasyonun tamamı burada bulunuyor. İnceleyebilirsiniz. Ben es geçeceğim ve ‘Installation’ evresine geçeceğim.

Artık kuruluma başladık. Sıfırdan bir kurulum yapacak veya kurulu servera eklentileri de dahil edecekseniz ilk seçeneği seçmeniz gerekiyor. İkinci seçenek ise, birden fazla makine üzerinde çalışmanızı sağlar. Biraz daha açıklamamız gerekirse, bir SQL Serverınız var diyelim. Bu sunucu çöktüğünde ne olacak? Fiziksel bir zarar görebilir, elektrik akımı kesilebilir, bambaşka bir şey olabilir… Bu durumda bir sunucunun daha çalışması, sisteminizin daha güvende kalmasını sağlayacaktır. Peki bunu nasıl sağlarız? Bir depolama alanımız ve iki SQL Serverımız olsun. Veriler depolama alanımızda bulunsun. Bir SQL sunucumuz da oradan verileri alsın ve yayın yapsın. Bu sunucu zarar görürse, diğer sunucu devreye girecek, ana sunucunun sorun yaşadığını öğrendiği anda devreye girerek kendisi çalışacaktır. İşte bu tip bir sistem hazırlamamız için ‘New SQL Server failover cluster’ seçeneğini seçmemiz gerekecek. Var olan bir sunucu ağına ekleme yapmak istiyorsak ‘Add node to SQL Server failover cluster’ seçeneğini seçeceğiz. Bu bilgi bizim aklımızda dursun, sıradan bir SQL sunucuda çalışmak için ilk seçenekle devam edelim. 

SQL Server’ın farklı versiyonları mevcut. Kısa kısa bahsedecek olursak:

  • SQL Server 2014 Enterprise: En üst seviye sürüm. Herhangi bir disk, memory ve işlemci sınırlandırması yok.
  • SQL Server 2014 Business Intelligence: Standart’ın tüm özelliklerini kapsar. Bunların dışında gelişmiş iş zekası özelliklerini bulundurur. 
  • SQL Server 2014 Standart: En çok tercih edilen, uygun maliyetli sürüm. 128 GB ram kullanabilir, Azure ve bulut sunucu destekler. 4 işlemci, 16 çekirdeğe kadar izin verir. 524 petabayta kadar veritabanı hacmini destekler.
  • SQL Server 2014 Web: Web hosting hizmetleri için düşük maliyet sağlar ancak özellikleri diğer versiyonlara oranla daha kısıtlıdır. 
  • SQL Server 2014 Developer: Enterprise özelliklerinin tamamını kapsar. Canlı ortamda kullanılamaz. Şu an ücretsiz olarak temin edilebilir. 
  • SQL Server 2014 Express: SQL server agent çalışmaz. SQL Server engine database için 1 GB bellek desteği sağlar ve veritabanı başına 10 GB alan verir. Ücretsiz olmakla birlikte çok fazla kısıtlama söz konusu.

Gelelim bu menüde ne yapacağımıza. Eğer yukarıdaki ürünlerden birini satın aldıysak onun lisans anahtarını ikinci seçeneğe girerek devam edebiliriz. Veya birinci seçenekte ‘Evaluation’ seçeneği ile 180 günlük deneme sürecini başlatabiliriz. Yine birinci seçenekten ‘Express’ versiyonunu seçerek ücretsiz kullanmaya başlayabiliriz. Ben Evaluation ile deneme sürecini başlatıyorum.

Microsoft Update ekranı gelecek. Orada da güncellemeleri kontrol edip, varsa alabilirsiniz. 

Bu aşamada ise biz hangi özellikleri kurmak istediğimizi belirliyoruz. Default olarak devam dediğimizde gereksiz birçok özelliği de kuracağız muhtemelen. O yüzden biz “next next next” demek yerine şöyle bir durup düşünüyoruz. ‘SQL Server Feature Installation’ dedikten sonra hangi özellikleri seçeceğimizi ve ne işe yarayacaklarını konuşalım.

Gelen ekranda birçok özellik var. Bu özellikleri seçtiğimizde description kısmında açıklamaları yer alıyor. Bunları göz önünde bulundurarak tercih yapmalıyız. ‘Database Engine Services’ verileri tutmak, işlemek ve hızlıca ulaşmak için gereken özelliklerimizden birisi. ‘SQL Server Replication’ ise sistemin yedeklenmesi ve verilerin tek merkezde toplanması amacıyla kullanılabilir. Örnek vermek gerekirse, 50 farklı sunucu ve veritabanınız var. Bu veritabanları günün sonunda, tüm işlemleri ana sunucuda toplamak ve ana sunucudan da yeni sonuçları tekrar  sunucuya dağıtmayı amaçlıyor. Veya İstanbul’daki sunucunuzdan gelen verileri Ankara’daki sunucunuza yedeklemek istiyorsunuz. Bu durumda değişen verileri göndermek amacıyla ‘SQL Server Replication’ özelliğini kullanabilirsiniz. ‘Full-Text and Semantic Extractions for Search’ özelliği ise aslında aranan şeye benzer bir kelime veya kavramı karşımıza getirir. Google’daki bunu mu demek istediniz özelliğine benzetebiliriz. ‘Data Quality Services’ verileri düzenleyen ve aynı formata dönüştüren bir araç. ‘Analysis Services’ büyük verileri analiz etmek, iş zekası kapsamında kullanmak için oluşturulan araç. ‘Reporting Services Native’ ise, sonuçları grafik haline getirebileceğimiz, görsel seçenekleri arttırabileceğimiz bir özellik. ‘Integration Services’ farklı veri kaynaklarını entegre edebileceğimiz bir araç. 

Client Tools Backward ise geriye dönük versiyonlara uyumluluk amaçlı eklenen bir seçenek. ‘Management Tools’ management studioyu çalıştırmamızı sağlar. Bunu kurmamamız halinde, oluşturduğumuz veritabanına mevcut makineden bağlanamayız. 

Aynı makinede birden fazla SQL Server kullanabilirim. Bu durumda her server, instance oluyor. ‘Instance root directory’ ise onların bulunduğu dizin. Bir storage kullansaydım onun bağlı olduğu dizini seçmem gerekirdi. Ben default olarak bırakıp devam ediyorum. 

Next dediğimde .NET Framework konusunda sorun yaşadığını belirtiyor. Öyleyse ben .NET’i aktif edip makineyi yeniden başlatırsam sorun ortadan kalkacaktır. 

Bu ekran aslında kurulum esnasında karşınıza gelmiş olmalı. This PC seçeneğine sağ tıklayıp manage dediğimizde tekrar buraya ulaşırız. Daha sonra rol ve özellik ekle seçeneğini seçiyorum. 

Daha sonra gelen ekranlara next diyorum. Ta ki aşağıdaki ekran gelene kadar. Burada ‘.NET Framework 3.5’i işaretlemem gerekiyor. Sonrasında kurulumu başlatıyorum. Bu aşama biraz zaman alabilir. Sonucunda makineyi yeniden başlatabilirsiniz veya hatayı aldığınız ekrana dönüp sağ üstte bulunan ‘Re-run’ butonuna tıklayabilirsiniz.

Bu ekranda iki seçenek mevcut: ‘default instance’ ve ‘named instance’. Birinci seçeneği seçmem halinde makineye IP adresi veya ismiyle bağlanabilirim. İkinci seçenekle ise sunucuma bir isim verebilirim. Aşağıdaki tabloda ise daha önce kurulu bir SQL server kurulu olsaydı listelenecekti. Ancak şu anda kurulu bir SQL server olmadığı için ekran boş. 

SQL Server Database Engine, gönderilen SQL sorgularını çalıştırıp sonucu getiren servis. ‘Account Name’ kısmından onu kullanma hakkı olan kullanıcıyı seçebiliriz. Değişiklik yapmamamız halinde SQL Server kendisi bir kullanıcı oluşturacak ve bu servisi o çalıştıracak. ‘Startup Type’ kısmından ise servisin otomatik mi, manuel mi çalışacağını seçebiliriz. ‘SQL Server Agent’ ise arka planda sistematik olarak çalışan işlemlerdir. Örneğin yedek almak, işlem bittiğinde görevliye mail atılması gibi. Bunu otomatiğe alabilirsiniz. ‘SQL Server Browser’ ise, birden fazla instance varsa bu durumda iki server aynı portu kullanamayacaktır. Bu durumda bu servis, ikinci makinenin başka bir porta yönlendirilmesini sağlar.

Yan sekmedeki ‘Collation’ kısmına geçtiğimizde ise, bizi dil seçenekleri karşılıyor. Ancak Türkçe, İngilizce gibi dillerden ziyade farklı detaylar söz konusu. Örneğin büyük-küçük harf ayrımı, Türkçe karakter ayrımı… Burada iki seçeneği de siz belirleyebilirsiniz. ‘Case-sensitive’ büyük-küçük harf duyarlılığını, ‘Accent sensitive’ ise karakter duyarlılığını aktif etmemizi sağlar. Karakter duyarlılığında bahsetmek istediğimiz şey şu; bu seçenek seçili olmadığında, “Istanbul” ile “İstanbul” arasında bir fark gözetmeden sorgu yapılır. Ben ikisini de aktif etmeyi tercih ederim. 

Devam ettiğimizde bizi aşağıdaki ekran karşılıyor. ‘Server Configuration’ sekmesinde ilk seçenek seçildiğinde, Windows makineye giriş yapmamız yeterli oluyor ve o kullanıcı ile SQL Server üzerinde işlem yapıyoruz. Ancak ikinci seçeneği seçmem halinde SQL Server’ıma bir parola koymuş oluyorum. Daha sonra da ‘Add Current User’ ile, sisteme girdiğim kullanıcıyı ekleyebilirim.

Burada storage kullanacaksak, system database directory kısmında onu seçmeliyiz. User database directory kısmında ise, kullanıcının oluşturduğu veri tabanını oluşturacağı dizini gösterir. User database log directory alanında ise, log kayıtlarının bulunduğu dizin tercih edilir. Yapılan işlemler önce log kayıtlarına işlenir. Log kayıtlarını, farklı bir diskte depolamak da mümkün. Temp DB, geçici tablolar oluşturmamızı sağlar. Bunların ve log kayıtlarının nerede saklanacağını da dizin olarak seçebiliriz. Backup directory ise, doğrudan yedek alma işlemlerinde, yedeklerin kaydolacağı dizini seçmemizi sağlar. 

Bütün bunlar tamamlandıktan sonra install diyerek kurulumu tamamlayabiliriz. Bizi bu ekran karşıladıysa kurulum tamamlandı demektir.