Best Practice’e Uygun MSSQL Server Kurulumu

  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016
  • SQL Server 2017
  • SQL Server 2019

Bu yazıda SQL Server 2017 Sürümü kullanılacaktır.

SQL Server Kurulumu yaparken doğru planlama en önemlisidir. Bunun için aşağıdaki linkteki yazıdan faydalanabilirsiniz.

Best Practice’e Uygun MSSQL Server Kurulumunu Planlamak

Disk yapısı

|- Verilen boyutlar herhangi bir database yüklenmeyeceği için bu kadar düşüktür.-|

Kurulum dosyasına çift tıklayıp setup.exe dosyasını çalıştırıyoruz.

Açılan Ekranda Planning sekmesinde System Configuration Checker seçeneğine tıklıyoruz.

Burada kurulum aşamasında bir sorunla karşılaşmamak için gerekli olan sistem kontrolleri yapılıyor. Bunlarda biri bile failed gelir ise o seçeneği uygulayıp ondan sonra kurulum yapmamız gerekiyor.

Ardından Installation sekmesine gelip New SQL Server stand-alone installation or add features to an existing installation seçeneğine tıklıyoruz.

Açılan ekranda (Product Key) kullanacağımız sürümü belirliyoruz. Bu yazı için ücretsiz olan ve Enterprise sürümü ile aynı özelliklere sahip olan Developer Edition kullanılacaktır.

License Term sekmesinde kutucuğu işaretleyip Next diyoruz

Microsoft Update sekmesinde kutucuğu işaretleyip Next diyoruz.

Install Rulles sekmesinde SQL server için gerekli olan bazı kurallar denetleniyor. Burada Windows Firewall ile ilgili Warning gelebilir. Bunu şimdilik önemsememize gerek yok kurulumdan sonra gerekli ayarlamalar yapılacaktır.

Feature Selection sekmesinde kuracağımız componentleri seçiyoruz. Bu kurulumda service olarak sadece DB Engine üzerinde duracağız bu sebeple onu seçiyoruz. Ek olarak Client erişimlerinde sorun yaşamamak için gereken diğer componentleri kuruyoruz. Son olarak kurulumun yapılacağı klasörleri belirleyip Next diyoruz.

Instance Configuration sekmesinde SQL Server Instance Name’ini belirliyoruz. Burada Default Instance dersek sunucunun kendi ismini alır, Named Instance dersek bizim vereceğimiz ismi kullanır aralarında sistemsel açıdan hiç bir fark yoktur.

Server Configuration sekmesinin Service Accounts kısmında yükleyeceğimiz service’ler için yetkili kullanıcılarımızı belirliyoruz. Burada NT Service kullanıcılarının kullanılması önerilmez hem güvenlik hem de kolay yönetilebilirlik açısında bir domain user olması gerekmektedir. Buradaki kutucuğu işaretlersek NT Service kullanıcıları için yetkilendirme sağlıyor biz onları kullanmayacağımız için işaretlememize gerek yok.

Collation kısmında ise SQL Server’ımızın default collation’ınını belirliyoruz. Burada önemli olan database’lerin collation’ı ile server collation’ının aynı olması veya uyumsuzluk sorunu olmaması.

En yaygın kullanım şekli sadece aksan duyarlı(accent-sensitive) olan collation’dır. Nadir de olsa büyük küçük harf duyayarlılığı(case-sensitive) da kullanılmaktadır.

Database Engine Configuration sekmesinde Data Directories kısmında sistem database’lerinin nereye kurulacağı user database’lerinin nereye kurulacağı ve backup yerimiz belirtilmektedir. Buradaki ayarlamalar default kabul edilir ancak kullanıcılar bunlara uymak zorunda değildir.

TempDB kısmında bu database için gerekli ayarlamaları yapıyoruz. Burada dikkat edilmesi gereken kaç tane data file olacağı, başlangıç boyutları ve büyüme değerleridir. Genel olarak best practice görülen CPU değeri ile 1-1 eşlenecek şekilde data file sayısı( max 8 data file) ve 64’ün katı olan dosya boyutları ve artışları kullanılmıştır. Son olarak dosyaların nerede konumlanacağı seçilmektedir. Planlama yazısında daha detaylı bir anlatım mevcuttur.

Ready to Install sekmesinde ise yapılacak işlemlerin özeti mevcuttur. Bir eksik görmüyorsak Install deyip kurulumu başlatıyoruz.

Kısa bir süre kurulumu bekliyoruz.

Kurulum bittikten sonra sunucu restart’ı istiyor. Biz bunu birazdan yapacağız. Öncelikle Firewall ayarlamalarını yapacağız.

Sunucunun arama kısmına firewall yazıp Windows firewall with Advanced Security seçeneğine tıklıyoruz.

Açılan pencerede Inbound Rules seçeneğine tıklayıp Actions kısmında New Rule seçeneğine tıklıyoruz.

Rule Type sekmesinde Program seçeneğine tıklayıp Next diyoruz.

Program sekmesinde This program path kısmında SQL Serverın yüklü olduğu path (S:\SQL\x64\MSSQL14.MSSQLSERVER\MSSQL\Binn) içerisinde sqlservr’ı seçiyoruz.

Action sekmesinde Allow the connection seçeneğine tıklıyoruz.

Profile sekmesinde sadece Domain seçeneğini tıklıyoruz böylece bizim domain’imize erişimi olmayan hiç bir sunucudan SQL’e bağlantı sağlanamaz.

Name sekmesinde yazmış olduğumuz kurala bir isim ve açıklama girip Finish diyoruz. Sonrasında kuralımız tanımlanmış oluyor.

Aynı şekilde Inbound Rules seçeneğine tıklayıp Actions kısmında New Rule seçeneğine tıklıyoruz.

Rule Type sekmesinde Port seçeneğine tıklayıp Next diyoruz.

Protocol and Ports Sekmesinde TCP seçip Specific local ports kısmına MSSQL Server’ın default portu olan 1433(eğer değiştirdiysek değiştirdiğimiz portu yazıyoruz) portunu ekleyip Next diyoruz.

Action sekmesinde Allow the connection seçeneğine tıklıyoruz.

Profile sekmesinde sadece Domain seçeneğini tıklıyoruz böylece bizim domain’imize erişimi olmayan hiç bir sunucudan SQL’e bağlantı sağlanamaz.

Name sekmesinde yazmış olduğumuz kurala bir isim ve açıklama girip Finish diyoruz. Sonrasında kuralımız tanımlanmış oluyor.

Şimdi MSSQL Service kullanıcısına sunucuda bazı yetkiler vererek performance için gerekli ayarlamaları yapacağız.

Bunun için Windows tuşuna basıp gpedit yazıp Edit group policy seçeneğine tıklıyoruz. Eğer çıkmaz ise Run‘ı çalıştırıp gpedit.msc yazıp da gidebilirsiniz.

Sırasıyla Windows Settings -> Security Settings -> Local Policies -> User Right Assignment sekmelerine giderek ilk yetkimiz olan Lock pages in memory yetkisini tanımlayacağız. Adından da anlaşılacağı gibi SQL Server tarafından RAM’a alınmış pageleri SQL Server kontrolünde dilediği kadar RAM’de tutmasına izin veren bir yetkidir.

Lock pages in memory policy’e çift tıklayıp Add User or Group seçeneğinden service userımızı bulup ekliyoruz.

Bir diğer yetkimiz ise Perform volume maintenance tasks policy ile alakalı. Bu yetki kurulum sırasında karşımıza çıkmıştı ancak orada belirttiğim gibi eğer kurulumda işaretleseydik bizim yazdığımız kullanıcıya değil default kullanıcıya bu yetki tanımlanacaktı.

Bu yetki IFI(instant file initialization) özelliğini kullanmamıza olanak sağlıyor. Burada da aynı işelmi gerçekleştiriyoruz.

Bir sonraki adımımız Network Protocol’leri ile alakalı. Bu ayarlar sayesinde SQL Server’a başka bir sunucu veya bilgisayar üzerinden erişebileceğiz. Bu ayarları yapabilmemiz için SQL Server Configuration Manager programını açıyoruz.

Configuration Manager üzerinde SQL Server Network Configuration sekmesinde Protocols for MSSQLSERVER kısmına tıklıyoruz.

Burada sırasıyla Named Pipes (uzaktan isimle bağlanmak için) ve TCP/IP (uzaktan IP ile bağlanmak için)seçeneklerini üstlerine çift tıklayıp Enable ediyoruz

Bu ayarların aktif olması için SQL Serverı restart etmemiz isteniyor.

SQL Server restart’ı sonrası uzaktan bağlantı sağlayabiliyoruz. Son olarak bütün ayarlamalarımızı bitirdiğimiz için kurulum sonrası yapmadığımız sunucu restart işlemini de gerçekleştirip sürecimizi sonlandırıyoruz.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s