SQL Server Configuration Manager ayarları
SQL Server Configuration Manager, SQL Server’ın bir çok ayarının yapıldığı bir tool’dur. Bu makalede SQL Server Configuration Manager üzerinden yapılabilecek ayarların çoğuna değineceğim.
Örneğin;
SQL Server Browser Service ne işe yarar?
Named Pipe Nedir?
SQL Server Servis’in kullanıcısı ya da kullanıcı şifresi nasıl değiştirilir?
Always ON ya da FileStream’ı nasıl aktif ederiz?
Alias Nedir ve Nasıl Tanımlanır?
Aşağıdaki şekilde arama kısmına Configuration Manager yazarak SQL Server 2014 Configuration Manager’a sağ tıklıyoruz ve yönetici olarak çalıştır ya da Run As Administrator diyerek açıyoruz. Kullandığınız SQL Server Instance’ı SQL Server 2014 ise ve SQL Server 2012 Configuration Manager kullanıyorsanız servislerinizi Configuration Manager üzerinde göremezsiniz. Bu yüzden en yüksek versiyonunu kullanmanız gerekir.
Configuration Manager açıldığında SQL Server Services’ da aşağıdaki gibi bir ekran gelecektir. Bu ekranda kullandığımız SQL Server Instance’lara ait servisleri görebilirsiniz.
Aşağıdaki resimlerdeki servisler ne işe yarıyor?
SQL Server Integration Services 12.0 |
ETL(Veri aktarımı) işlemlerinde verinin aktarılması ve başka türe dönüştürülmesi işlemlerinde kullanılır. Genellikle verileri, veritabanından veri ambarına aktarırken kullanırız. |
SQL Server (TESTINSTACE2) SQL Server (TESTINSTANCE) SQL Server (MSSQLSERVER) |
SQL Server ile başlayanlar SQL Server Database Engine Servisi(Instance) olduğunu gösterir. Yani benim bilgisayarımda TESTINSTANCE ve TESTINSTACE2 isimlerinde iki tane named instance birde default instance olmak üzere 3 instance kurulu durumda. Default instance MSSQLSERVER olarak geçer. |
SQL Server Agent (TESTINSTACE2) SQL Server Agent (TESTINSTANCE) SQL Server Agent (MSSQLSERVER) |
SQL Server Agent ile başlayanlar SQL Server Database Engine’e ait Agent Servisi(Joblarımızı çalıştırmak için gerekli servis) olduğunu gösterir. Her instance’ın kendisine bağlı bir agent servisi vardır. |
SQL Full-text Filter Daemon Launcher(TESTINSTANCE) |
Full-text search’ün çalışması için gerekli olan servistir. “SQL Server Kurulumu” isimli makalemde kurulum aşamasında bu servisin nasıl kurulacağını görebilirsiniz. Full-text search’ün detayları için “Full-text Search” isimli makalemi okumak isteyebilirsiniz. Benim bilgisayarımda TESTINSTANCE’ında bu servis kurulu durumda. |
SQL Server Reporting Services(TESTINSTANCE) |
SQL Server’da rapor oluşturmak için kullanılan bir servistir. |
SQL Server Browser |
Client’ları SQL Server’a bağlanırken yönlendiren servistir. Registery’den sunucudaki tüm sql server instance’ların hangi port üzerinden çalıştığını ya da aktif edilmişse hangi named pipe’ı(Named Pipes bir protokoldür. TCP/IP ya da Domain Name Service (DNS) mevcut değilse sağ tıklayarak enable edebilirsiniz. Ben bugüne kadar hiç kullanmadım çünkü TCP/IP dünya çapında kabul görmüş bir protokoldür ve SQL Server’da default olarak TCP/IP protokolünü kullanır) kullandığını okur.
Client tarafından SQL Server’a bir connection isteği geldiğinde SQL Server Browser ilgili instance’ın hangi port’u kullandığını bilgisini döner ve bağlantı bu şekilde gerçekleştirilebilir. Eğer SQL Server dinamik port kullanılıyorsa servis her restart olduğunda port değişeceği için SQL Server Browser önem kazanır. Ama SQL Server’a statik bir port vermenizi ve uygulamıcıya connection string’ini yazarken bu port bilgisini iletmenizi tavsiye ederim. Ben genelde named pipe kullanmam. Ve uygulamacılara connection string verirken her zaman bağlanacakları instance’ın port bilgisini de veririm. Örneğin “10.134.43.56,1433” şeklinde bağlanmalarını söylerim. Bu şekilde SQL Server Browser çalışmasa bile uygulama SQL Server’a bağlanabilecektir. |
SQL Server Services sekmesinden Database Engine Servislerden birine sağ tıklayarak properties diyorum. Log on sekmesinden Built-in account kısmından Local System’i seçebilirsiniz.
Ama sunucunuzu cluster yapacaksanız sql server servis’inize domain kullanıcısı set etmeniz gerekir. This account: kısmından Browse diyerek ilgili kullanıcınızı active directory’de bularak check names ve ok dedikten sonra bu kullanıcıya ait şifreyi Password ve Confirm Password kısmına girmelisiniz. Ayrıca mevcut kullanıcınızın şifresini active directory üzerinden değiştirdiyseniz yine Password ve Confirm Password kısmından şifresini güncelleyebilirsiniz. SQL Server Servisi olarak hangi kullanıcıyı yetkilendirdiyseniz bu kullanıcının şifresinin expire olmayacağından emin olun. Çünkü Active Directory’den tanımlanmış kullanıcıların şifresi belirli bir süre sonra expire oluyor. Expire olmaması için Active Directory bu kullanıcıyı expire olmayacak şekilde ayarlamak gerekiyor.
Eğer instance’ınızda Always On kullanacaksanız AlwaysOn High Availability sekmesine gelip aşağıdaki gibi aktifleştirmeniz gerekiyor.
Eğer instance üzerindeki veritabanlarında filestream kullanacaksanız FILESTREAM sekmesine gelerek file stream’i aşağıdaki gibi Enable FILESTREAM for Transact-SQL access diyerek aktifleştirmeniz gerekiyor.
Enable FILESTREAM for file I/O access’i seçerseniz dosyalara windows üzerinden de erişilebilmesine olanak vermiş olursunuz. Güvenlik anlamında bunu yapmanızı tavsiye etmem.
Allow remote clients access to FILESTREAM data’yı da seçerseniz uzak bilgisayarlardan da FILESTREAM verilerine erişimi sağlamanın yolunu açmış olursunuz. Güvenlik anlamında bunu yapmanızı tavsiye etmem.
Sadece aşağıdaki seçeneği seçerek FILESTREAM verilerine sadece TSQL ile veritabanı üzerinden erişilebilmesini garanti altına almış oluyoruz.
SQL Server Alias Nedir ve Nasıl Tanımlanır?
Örneğin sunucu1 isminde bir sunucunuz ve bu sunucu üzerinde instance1 isminde bir instance’ınız var. Sunucunuzun IP’si “10.6.45.43”. Bu instance’ınız TCP/IP 1434 portunu kullanıyor. Bu instance’a bağlanırken aşağıdaki yöntemlerden biriyle bağlanabilirsiniz.
- Sunucu1\instance1
- Sunucu1,1434
- 10.6.45.43\instance1
- 10.6.45.43,1434
Alias tanımlayarak yukardaki ifadelerden birini kullanarak bağlanmak yerine kendi belirlediğimiz bir isimle bağlanabiliriz. Bir örnekle konuyu netleştirelim.
SQL Native Client Configuration üzerinden Aliases’a sağ tıklayarak New Alias.. Diyoruz.
Alias Name kısmına sunucuya bağlanmak için kullanmak istediğiz ismi yazıyoruz.
Port no kısmına instance’ın çalıştığı port’u yazıyoruz.
Protocok olarak TCP/IP’yi seçiyoruz.
Server kısmında da instance’ımıza bağlanmak için yazdığımız(yukarda madde ile belirttiğim ifadeler) server ismini aşağıdaki gibi yazıyoruz ve ok diyoruz.
Daha sonra sql server’a SSMS ile bağlanırken Connec To Database Engine dediğimizde Server name kısmına alias ismini giriyoruz.
Ve bu şekilde bağlantımızı sağladığımızda aşağıdaki gibi servername testalias olarak gözüküyor.
SQL Server Configuration Manager üzerinden instance’ın kullandığı portu set edebilirsiniz. “Yeni Kurulumda yapılması gereken konfigurasyonlar” isimli makalemde bu konuyu detaylı olarak anlattım.
Service sekmesinden, sunucu açıldığında otomatik olarak sql server servis’in başlaması için otomatik olarak ayarlı olması gerekir. Default olarak otomatiktir. Eğer sizin servisiniz bu şekilde değilse düzeltmelisiniz.
Advanced sekmesinden Dump Directory’yi değiştirebilirsiniz. Dump Directory’de sql server crash olduğunda alınan dump lar saklanır.
Startup parameters’da sql server açılırken nasıl açılacağını belirleyen parametreler girilebilir.
Yukarıdaki ekran görüntüsündeki trace flag’ların amaçlarına giriş yapalım.
Trace Flag 1117 |
Bir filegroup’un içersindeki file’ların eşit bir şekilde büyümesi için |
Trace Flag 1118 |
Mixed Extent yerine Uniform Extent kullanılmsını sağlar. Extentler hakkında detaylı bilgi için “SQL Server Storage Kavramları(Page,Extents,GAM,SGAM,PFS,IAM,BCM,DCM)” makalemi okumanızı tavsiye ederim. |
Trace Flag 8048 |
SQL Server 2014 SP2 sürümünden önceki bir sürüm kullanıyorsanız bu trace flag sizin için önem kazanacaktır. SQL Server 2014 SP2’den sonra bir etkisi yoktur. Numa bazlı bölünmüş memory objelerini CPU bazlı bölünmüş hale getirir. |
Trace Flag 1236 |
SQL Server 2012 SP3 ve SQL Server 2014 SP1 den önceki bir sürümü kullanıyorsanız bu trace flag’ı set etmeniz gerekir. Veritabanındaki lock kaynaklı performans problemlerini çözer. |
Trace Flag 9024 |
SQL Server 2014 SP1 den önceki sürümleri kullanıyorsanız bu trace flag’ı set etmeniz gerekir. log write waits’in artmasını önler.
|