SQL Server Kurulumu
Bu makalede Stand-Alone SQL Server kurulumu yapacağız. Stand-Alone herhangi bir cluster yapısı olmadan tek bir sunucunun üzerine sadece tek bir instance kurmak anlamına gelir. SQL Server Kurulum Dosyası içindeki setup.exe’ye sağ tıklayıp Run as Administrator ya da Yönetici olarak çalıştır diyoruz. Sol taraftaki Installation sekmesine seçiyoruz ve aşağıdaki gibi New SQL Server stand-alone installation or add features to an existing installation’a tıklıyoruz.
Eğer kurulum dosyanız lisanslıysa otomatik olarak enter the product key gelir ve lisans key’i aşağıda otomatik olarak yer alır. Eğer lisanssız bir kurulum yapıyorsanız Specify a free edition kısmından Evalution ya da Express’i seçmeniz gerekecek. Evalution Edition tüm özellikleriyle 180 gün boyunca kullanabildiğiniz sürümüdür. Express Edition ise kısıtlı özelliklerle sürekli olarak kullanabileceğiniz sürümüdür. Ben lisanslı bir kurulum yaptığım için aşağıdaki diğer seçeneği seçiyorum.
Bir sonraki ekranda aşağıdaki gibi I accept the licence terms’i seçmeniz gerekiyor.
Bir sonraki ekranda kurulum dosyasının update edilebilir bir sürümü varsa onu kontrol eder. Eğer mevcut dosyanın sürümü ile kurulum yapmak istiyorsanız Skip Scan demeniz yeterli.
Sonraki ekranda kurulum öncesi gereksinimleri denetliyor ve kurulum yapılıp yapılamayacağına karar veriyor.
Benim kurulumda sadece firewall ile ilgili bir uyarı verdi. Bu uyarıda aşağıdaki görüldüğü gibi firewall’umun açık olduğunu gösteriyor. Ve bazı portlar için erişimin açık olduğundan emin olmamı söylüyor.
Bir sonraki ekranda hiçbir değişiklik yapmadan aşağıda görüldüğü haliyle geçiyoruz.
Bir sonraki ekrandan ihtiyacımıza göre seçim yapıyoruz. Ben genelde aşağıdaki şekilde seçim yaparak ilerliyorum.
Yukarıdaki resimdeki özellikleri aşağıda detaylı olarak bulabilirsiniz. Bu şekilde kendi ihtiyacınıza karar verebilirsiniz. İlerde ihtiyacınız olursa burada seçmediğiniz özellikleri sonradan da ekleyebilirsiniz.
Database Engine Services |
SQL Server kurulumun kendisidir. Seçmeden veritabanı oluşturamazsınız. |
SQL Server Replication |
Replication yapma ihtiyacınız varsa bu seçeneği seçebilirsiniz. Replication ile ilgili detayları “SQL Server Replication Türleri” isimli makalemde bulabilirsiniz. |
Full-Text and Semantic Ex… |
Eğer veritabanlarınızda Full Text Search özelliğini kullanacaksınız bu seçeneğide seçmelisiniz. Full Text Search hakkındaki detayları “Fulltext Search” isimli makalemde bulabilirsiniz. |
Data Quality Services |
Hatalı, tekrar eden detayı temizlemek için kullanılır. Örneğin IST ve İstanbul olarak aynı kolona girilen değerlerin aynı değeri ifade etmesine rağmen istatistiklerde farklı gözükmesini engellemek için. Veritabanı Uzmanlarından ziyade İş Zekası Uzmanlarının ilgi alanına girer. |
Data Quality Client |
Data Quality Service’de belirttiğimiz temizleme işlemini yapabilmek için gerekli client uygulamasıdır. Veritabanı Uzmanlarından ziyade İş Zekası Uzmanlarının ilgi alanına girer. |
Analysis Service |
OLAP (Online Analytical Processing) tipi sistemler için gereklidir. Veritabanı Uzmanlarından ziyade İş Zekası Uzmanlarının ilgi alanına girer. |
Reporting Service |
Rapor Hazırlamak için kullanılan bir tool’dur. |
Data Quality Client |
Data Quality Services’ı kullanmak için gerekli client tabanlı uygulamadır. |
Client Tools Connectivity |
Client’lar ve SQL Server arasındaki iletişim için kullanılır. Aşağıdaki bileşenleri içerir ve seçilmesi gereklidir. OLEDB for OLAP, ODBC, ADODB, and ADOMD+ |
Integration Service |
Datayı kopyalamak, taşımak ve dönüştürmek için kullanılır. Genellikle İş Zekası Uzmanları kullanır. |
Client Tools Backwards Compatibility |
SQL Distributed Management Objects (SQL-DMO) ve Decision Support Objects (DSO)’ü içerir. Bu özellikler SQL Server ve Analysis Services objelerini yönetmek için kullanılır. |
Client Tools SDK |
Yazılımcılar için yazılım geliştirme kiti içerir. Örneğin bu kurulumla gelen bazı class’lar web servisler içinde bir SSIS package çalıştırmak için kullanılabilir. |
Documentation Components |
Books Online’ı lokal olarak yüklemek isterseniz bu seçeneği seçmelisiniz. |
Management Tools Basic-Complete |
SQL Server’a bağlanmak için kullandığımı en temel araç olan SQL Server Managemet Studio kurulumu için bu seçenekleri seçmelisiniz. Basic seçerseniz SQL Sever Profiler, Database Engine Tuning Advisor, SQL Server Utility management kullanamazsınız. Bu özellikleri kullanmaya ihtiyacınız varsa Complete’i de seçmelisiniz. |
Distributed Replay Controller |
SQL Server upgrade yapacaksanız ve upgrade testlerini uygulamadan gelen gerçek isteklerle ve aynı yoğunlukta yapmak istiyorsanız bu seçeneği seçmelisiniz. Detayları “SQL Server Distributed Replay ile upgrade öncesi birden çok sunucuda test yükü oluşturmak” isimli makalemde bulabilirsiniz. |
Distributed Replay Client |
SQL Server upgrade yapacaksanız ve upgrade testlerini uygulamadan gelen gerçek isteklerle ve aynı yoğunlukta yapmak istiyorsanız bu seçeneği seçmelisiniz. Detayları “SQL Server Distributed Replay ile upgrade öncesi birden çok sunucuda test yükü oluşturmak” isimli makalemde bulabilirsiniz. |
SQL Client Connectivity SDK |
Veritabanı uygulaması geliştirmek için SQL Server Native Client (ODBC/OLE DB) içerir. |
Master Data Service |
İşletmelerde heterojen yapıda tutulan verilerin tek bir merkezden yönetilmesi için gereklidir. |
Bir sonraki ekranda Default ya da Named seçeneği gelir. Default Instance her sunucuda bir tane kurulabilir. Default instance kurulumu sonrası SQL Server’a bağlanırken Server Name kısmına sadece sunucu ismini yazarak SQL Server’a bağlanbilirsiniz. Named Instance bir sunucuda birden fazla kurulabilir. Named Instance’a bağlanırken Sunucuİsmi\Instanceİsmi şeklinde bağlanabilirsiniz. Biz örneğimizde Named Instance kuruyor ve isim olarak ta aşağıdaki gibi TESTINSTANCE veriyoruz.
Bir sonraki ekranda kullanıcı hesapları ve collation bilgilsi geliyor. Eğer Instance’ınız stand alone olarak çalışacaksa ve başka bir makineye bağlanmayacaksa bu şekilde bırakıp geçebilirsiniz. Ben lokal kurulum yapacaksam bile Database Engine için ve SQL Server Agent için Local System’i seçiorum ama böyle kalmasında da sıkıntı yok. Ama Always On, SQL Server Failover Cluster benzeri bir çözüm kullanacaksanız ya da Instance’ınız domaininizdeki başka sunucularla konuşacaksa burdaki hesaplar için active directory’de kullanıcı hesapları oluşturup aşağıdaki ekranda tanımlamanız gerekir. Microsoft bu tip kurulumlarda Database Engine ve Agent için farklı hesaplar kullanmayı tavsiye ediyor. Örneğin Database engine için Domainİsmi\SQLServiceAccount, Agent için Domainİsmi\SQLAgentAccount gibi..
Biz standalone kurulum yaptığımız için sadece Agent ve Database Engine için Local System’i seçip devam ediyoruz. Local system’i seçmek için Accoun Name kısmına tıklayıp browse diyerek konumlardan kendi bilgisayarınızı seçmeli ve seçilecek nesne adı yazan yere system yazıp adları denetle demelisiniz.
Collation sekmesine gelip istediğiniz collation’ı seçmelisiniz. Server collation’ı kurulum sonrasında da değiştirebilirsiniz ama kompleks birkaç işlem gerektirir ve mevcut sisteminizde veritabanları varsa bu işlemi yapmanız çok da kolay olmaz. Server Collation’ı değiştirmek için “Server Collation’ı değiştirmek” isimli makaleme bakabilirsiniz. Collation ile ilgili detayları öğrenmek isterseniz sitemizde arama kısmına collation yazarak detaylı bilgi edinebilirsiniz.
Bir sonraki ekranda veritabanına bağlantı şeklini ayarlayacağız. Karşımıza iki seçenek çıkacak.
Windows Authentication mode: Sadece active directory kullanıcısı ile ya da lokal sunucuda tanımlı bir windows kullanıcısı ile giriş yapılabilir. SSMS’i açmak için bağlandığınız sunucu ya da client’a hangi kullanıcı ile giriş yaptıysanız o kullanıcının SQL Server’a şifresiz bir şekilde girebilmesidir. Tabi sunucuya giriş yaptığınız kullanıcının SQL Server üzerinde yetkilendirilmiş olması gerekir. SQL Authentication ile giriş yapılamaz. SQL Authentication’da bir kullanıcı adı ve parola belirleyerek active directory ya da lokal sunucudaki kullanıcılardan bağımsız olarak SQL Server üzerinde oluşturulan bir kullanıcının sql server’a bağlanma şeklidir.
Mixed Mode: Hem windows authentication hem de sql authentication ile giriş yapılabir anlamına geliyor. Bu seçeneği seçtiğinizde aşağıdaki ekran görüntüsünde gördüğünüz gibi bir parola girmenizi ve bu parolayı onaylamanızı istiyor. Bu parola kurulacak instance’ın sa şifresi olarak belirlenecek. Biraz altta ise Specify SQL Server Administrator yazan yerde Add Current User’a tıklamanız gerekiyor. Bu işlem kurulumu yaptığınız kullanıcı için kurulacak olan instance üzerinde sysadmin(instance üzerinde herşeyi yapabilme yeteneğine sahip kullanıcı) hakkı verilmesini sağlayacak.
Next demeden önce Data Directories tab’ına geçmeniz gerekiyor.
Data Root Directory |
SQL Server’ın kurulacağı path. Default olarak gelen değerde bırakmanızı tavsiye ederim. Tabi işletim sistemi crash olursa sistem veritabanlarınız gidecektir. Bu yüzden muhakkak backup’larınızı düzenli olarak almalı ve backup alınamadığında haberiniz olmasını sağlayan bir sistem kurmalısınız. Bazı kişilere göre Data Root Directory’i işletim sisteminden farklı bir diskte oluşturmak daha mantıklı gelebilir. Ama zamanla kullandığınız storage değişebilir ve sizin sistem veritabanlarınızı taşımanızı gerektirebilir. Bu yüzden ben burda default ayarları kullanarak geçiyorum. |
User database directory |
Veritabanlarınızın mdf uzantılı data dosyalarını ilk oluşturulma esnasında default olarak nerede oluşturulacağı path’in bilgisini içeriyor. Burda yazan değer yeni veritabanı oluşturma esnasında otomatik olarak gelecektir fakat veritabanı oluştururken manual değiştirme şansınız da olacak. |
User database log directory |
Veritabanlarınızın ldf uzantılı log dosyalarını ilk oluşturulma esnasında default olarak nerede oluşturulacağı path’in bilgisini içeriyor. Burda yazan değer yeni veritabanı oluşturma esnasında otomatik olarak gelecektir fakat veritabanı oluştururken manual değiştirme şansınız da olacak. |
Temp DB directory |
Tempdb’nin data dosyalarının nerede tutulacağını belirten path bilgisi |
Temp DB log directory |
Tempdb’nin log dosyalarının nerede tutulacağını belirten path bilgisi |
Backup directory |
Veritabanı backup’ı almak istediğinizde default olarak çıkacak path bilgisi |
Aşağıda nasıl set ettiğimizi görebilirsiniz. Tabi bütün veritabanlarını default olarak bu path’lerde oluşturacağımız anlamına gelmez. Ben lokalime kurulum yaptığım için ve başka disk’im olmadığı için sadece C diskini seçtim. Microsoft data ve log dosyalarının ayrı diskte tempdb’nin ayrı diskte tutulmasını tavsiye ediyor. Ayrıca bazı veritabanları çok büyük olabilir ve daha fazla IO ihtiyacı olabilir. Bu yüzden veritabanını file group’lara ayırıp birden fazla data file oluşturup bu file’ları disklere yaymanız gerekebilir. “Veritabanı Oluşturmak” isimli makalemde ihtiyaca göre nasıl veritabanı oluşturulması gerektiği bilgisinin detaylarına ulaşabilirsiniz.
File Stream tab’ından isterseniz file stream’i enable edebilirsiniz. File Stream isimli makalemde detay bilgiye ulaşabilirsiniz.
SQL Server 2016 Management Studio ile bu ekranda aşağıdaki gibi tempdb konfigürasyonu da geldi.
Aşağıdaki gördüğünüz alanlardan tempdb file sayısını, initial size’ını, auto growth’unu data ve log dosyalarının path’lerini ayarlayabiliyoruz.
Genelde sisteminizdeki cpu sayısı kadar tempdb file sayısı set etmeniz önerilir.
Bu şekilde birden fazla sayıda set edimiş tempdb file sayısı tempdb’de oluşabilecek contention’ın önüne geçer.
Çok fazla sayıda oluşturmanız da kötü yönde etki yapabilir.
Ben şahsen bugüne kadar 8 cpu’lu bir makine de 8 ya da 16 tane tempdb file oluşturdum ve bir sıkıntı yaşamadım.
Yeni aldığım bir sistemde tempdb’de ciddi anlamda bir contention yaşanıyordu ve ilk yaptığım şey tempdb file sayısını arttırmaktı. Bunun sonucunda problem çözülmüştür.
Aşağıda, kurulum esnasında tempdb konfigürasyonunu yapacağınız ekranı görebilirsiniz.
Next diyerek ilerliyoruz. Gelen ekranda Reporting Service konfigurasyon ekranı geliyor. Default olarak aşağıdaki gibi bırakıp ilerliyoruz.
Gelen ekran Install diyerek kurulumu tamamlıyoruz.
Kurulum tamamlandıktan sonra “Yeni Kurulumda yapılması gereken konfigurasyonlar” isimli makalemi okumanızı tavsiye ederim.