SQL server kurulumunda ilk karşılaşacağımız ekran aşağıda yer almaktadır.
Standart bir instance kurulumunda sağ tarafta yer alan Installation kısmına tıklanarak kurulum işlemlerine başlanır.
New SQL Server stand-alone… bağlantısına tıklayarak kuruluma devam ediyoruz. Amacımız herhangi bir cluster ortamına dahil olmayan bir instance kurmak.
Eğer elinizde bir product key var ise onu girebilir ya da “Specify a free edition” kısmından ücretsiz bir sürüm veya deneme sürümü kullanmayı tercih edebilirsiniz. Evalution Edition 180 gün boyunca kullanabileceğiniz tüm özellikleri içerisinde barındıran bir sürümdür. Express Editionı ise kısıtlı özelliklerle sınırsız bir süre kullanabilirsiniz.
Lisans sözleşmesini kabul ederek Next diyoruz.
Updateleri indirerek en güncel halini kullanmak isterseniz Use Microsoft to check for updates kısmını tıklayarak devam edebilirsiniz. Kurulum aşamasında güncellemelerin yapılması öneriliyor olabilir ancak production ortamında yapılacak tüm güncellemelerin nispeten az yoğun saatlerde kontrollü bir şekilde yapılması gerektiğini bilmekte fayda vardır.
Erişim problemlerinin önüne geçmek için Windows Firewall’ı kapatabilir veya özel tanımlamalarla bu sorunu giderebilirsiniz.
Özellikle production ortamında tüm özelliklerin seçilmesi önerilmez. SQL Server’ın hangi özelliklerini kullanacaksanız ona göre bir kurulum yapmanız gerekir. Örneğin Full Text Search kullanmayacaksanız bu özelliği kurmamanız gerekir. Neticede kuracağınız her eklenti kaynağınızı (RAM, CPU) kullanacaktır.
Ben sadece Database Engine servisini kurarak devam ediyorum. Eğer diğer özelliklere ihtiyacım olursa tekrar kurulum yapar gibi bu ekrana gelerek istediğim eklentileri ekleyebilirim.
Bu kısımda değinmem gereken bir husus olacak.
Genelde büyük veri hacimlerinin olduğu ortamlarda SQL Server (Instance) direkt olarak C:ProgramFiles dizinlerine kurulmaz. SQL kurulumu ayrıca bir diske yapılır. Bu çalışma ortamında bize esneklik sağlar. Örneğin Windows’un bir şekilde çöktüğünü düşünün C diskini kaybettiniz ve bir an önce hizmet vermeye devam etmek istiyorsunuz. Bu durumda elbette ilk tercihiniz işletim sistemini kurtarmak olabilir. Ancak bunun mümkün olmadığı durumlarda C diskini kaybetseniz bile yeni bir disk takarak işletim sistemi kurar, ardından diğer diskin içindeki sistem databaselerine ulaşıp sistemi bir şekilde ayağa kaldırmanız gerekebilir. Şuan aklıma ilk gelen örnek bu olmasına karşın daha başka senaryoların da çözümü benzer şekilde alınabilir.
Bir sonraki aşamada instance ismi vermemizi ister. Her bir SQL Engine servisi bir instance’tır. Bir bilgisayara-sunucuya birden fazla instance kurulabilir. Örneğin uygulamamızın kayıtlarının yer alacağı “Uygulama” adında bir instance ve uygulamamızın log kayıtlarını saklayacağımız “Log” adında bir başka instance yine aynı sunucu üzerinde barındırılabilir. Bu iki instance’a farklı portlar atayabilir ve aynı ip adresi üzerinden dahi hizmet verdirebiliriz.
Yukarıdaki resimde göreceğiniz üzere Instance kurulurken en az 3 servis ile kurulur. Bu servislerden en üstteki SQL Server Agent, zamanlanmış görevleri yerine getiren servistir. Zamanlanmış görevlerden kastımız “JOB”lar. Belirli aralıklarla veya ilerideki bir tarihte gerçekleştirilecek bir işlem var ve bunun otomatik olarak gerçekleşmesini istiyorsak JOB oluştururuz. Bu jobların çalışmasından sorumlu olan servis SQL Server Agent servisidir. Hemen yanındaki Account Name ise jobların hangi kullanıcı ile çalıştırılacağına karar verir. Bu kısma istersek Windows kullanıcılarından birisini istersek SQL içerisinde kullanıcı adı ve şifresini oluşturduğumuz bir SQL kullanıcısı atayabiliriz.
SQL Server Browser servisi ise Instance’ımız dinamik bir portta hizmet veriyorsa bizim için gereklidir. Dinamik portta hizmet vermiyorsa kapalı kalması tercih edilir.
SQL Server Database Engine ise Instancemızın kalbidir dersek yalan olmaz. Tüm arama, bulma, datayı depolama vb. işlemlerin bu servis tarafından yapıldığını söyleyebiliriz. Performans kayıplarına sebebiyet vermemek için sunucu üzerinde administrator yetkisi olan bir hesap atanması zaruridir.
Bir yere değinmeyi unuttum. Yukarıda Collation kısmı mevcut. Collation veri tabanının karakter setidir. Eğer veri tabanınızda Türkçe ağırlıkta veri olacaksa Turkish_CI_AI seçmeniz önerilir. Turkish kısmı Türkçe karakterleri kullanacağını ve alfabetik sıralamaları Türkçe diline göre yapacağını belirtir CI ( CASE INSENSITIVE ) yani büyük ve küçük harf duyarlılığı olmasın demek oluyor. AI ( ACCENT INSENSITIVE ) ise ‘a’ ve ‘â’ harflerinin eşit sayılmaması anlamına geliyor.
Eğer karakter setiniz düzgün ayarlanmamış ise ( latin_general ayarladığınızı varsayıyorum ) order by yani sıralama yaptığınızda ‘ Şamil’ kelimesinin ‘Selim’ kelimesinden önce sıralandığını görürsünüz. Ayrıca Şamil kelimesini yazacağınız colonun varchar değil nvarchar olması gerekir. Her veri tabanı için farklı bir collation seçilebilir. Hatta her tablo veya kolon bazlı da farklı collationlar seçilebilmektedir. Kurulum esnasında sadece sunucunun default collation setinin hangisi olacağını belirliyoruz, veri tabanı oluştururken bu ayarı istediğimiz gibi değiştirebiliriz.
Bir sonra ki ekranımızda ise Authentication mode seçilmekte. Yine bu ayarlamalar sonradan değiştirilebilmekte olup kısaca ne anlama geldiğinden bahsetmemiz gerekir. SQL Server iki farklı kullanıcı modunda çalışır. Windows Authentication mode seçilirse sadece active directory üzerinden gelen kullanıcılar ile çalışabilmesi demektir. Mixed mode ise hem Windows active directory üzerinden eklenecek kullanıcılara hemde sql server kullanıcıları ile kullanabilmek anlamına gelmektedir. Add Current User diyerek kurulumu yaptığımız Windows kullanıcısını yönetici olarak ekleyebiliriz. Mixed mode seçersek ise bizden bir şifre ister ve bu şifre ‘sa’ kullanıcısının şifresi olur. ‘sa’ kullanıcısının ismini güvenlik standartları gereği değiştirmemiz gerekir.
Bu ekranda gördüğümüz diğer sekmeler daha sonra detaylıca anlatılacaktır. Ancak kısaca şöyle diyebiliriz. Data Directorie kısmı default veri tabanlarının ve sql engine dosyalarının tutulacağı konumdur. MAXDOP kısmı ise maksimum paralellik derecesidir. Belirli bir best practice yoktur dataya ve gelen sorgulara göre tecrübe edilmesi gereken bir kısımdır. Duruma göre yüksek verilmesi de düşük verilmesi de problemlere yol açabilir. TempDB kısmı ise default oluşturulan tempdb veri tabanının özelliklerini yapılandırabileceğimiz bir kısımdır. Memory kısmı ise kurulum yaptığımız sunucudaki ram’in makimum ve minimum ne kadarını instance için ayırdığımızı belirler. Aynı sunucuda birden fazla instance çalışacak veya ram ihtiyacı olan başka bir uygulama çalışacak ise ona göre ayarlamalar yapabiliriz.
Yaptığımız ayarlamaların özetini gördüğümüz bu kısmı inceleyip gözümüze saçma gelen bir şey yoksa install diyerek kurumu devam ettirebiliriz.
Ve kurulumumuz başarılı bir şekilde tamamlanmış oldu. Sunucumuzda yer alan veri tabanı servisine erişmek için son olarak Sql Server Management Studio adı verilen bir tool daha kurmamız gerekiyor. Bu arayüz kurulumu standart bir kurulumdur, install’a tıklarız ve kurulur.
SQL Server'da Disk, IP ve Hostname Taşıma İşlemleri - VERITABANI.ORG 22 Kasım 2022
[…] (Yeni kurulum) taşıma işlemlerinin yapılması anlatılacaktır. SQL Server Kurulumu için “SQL ServerNasıl Kurulur” adlı makaleyi okuyabilirsiniz. Bu işlem SQL Server Always-On mimarisinde hem root disk, hem de […]