Bu makalede sıfırdan Fiziksel sunucu kurulumunda adım adım neler yapılması gerektiğini detaylı bir şekilde görmüş olacağız. Sizde kendi sunucu modelinize, windows server ve sql server sürümünüze göre benzer konfigürasyon yapabilirsiniz. Eksik ve yapılması gereken herhangi bir ifade varsa bildirmeniz beni mutlu eder.
Genel hatlarıyla hangi bölümde nelerin konfigürasyonuna değinecek olursak:
1-)Sunucu Kurulurken Yapılması Gerekenler
- Firmware Update kontrol ve güncelleme
- Raid Konfigürasyonu
- Management port yapılandırması
- İşletim sistemi kurulumu
- Ethernet bağlantılarının yapılması
- Bilgisayar adının değiştirilmesi
- Teaming yapısının oluşturulması
- Sunucunun domain yapısına dahil edilmesi
- Uzak bağlantı sağlayacak kullanıcıların Administrator grubuna eklenmesi
2-)Sunucuyu Teslim Alınınca Yapılacak Kontroller
- Windows Firewall kapatılması
- Disk yapılandırılması
- File Record Segment Size değerinin ayarlanması
- Disk performansının ölçülmesi
- Driver’ların kontrol edilmesi
- Windows Update kontrol edilmesi
- İşletim sistemi ve edition uygunluğunun kontrolü
- Sunucu adının kontrol edilmesi
- Ip kontrolü
- Ipv6 kapatılması
- Ağdan gelen iş yüklerini Cpu üzerinde dağıtma ayarının açılması
- Kullanılmayan Ethernetlerin disable moduna çekilmesi
- Remote Desktop özelliğinin açılması
3-)Sql Server Kurulmadan Önce Windows Server’ın Hazırlanması
- Power Options ayarlarının yapılması
- sql server data root directory yapısı için Kurulum(K) adında bir diskin işletim sistemine eklenmesi
- Dil ve Bölge ayarının sunucu üzerinde yapılandırılması
- Time Zone ayarının yapılması
- Page file kontrol işlemi
- Telnet Client kurulması
- Multi Path IO kurulması
- .NET Framework yüklenmesi
- Failover cluster features yüklenmesi
- Sunucu üzerinde User Account Control yapısının kontrolü ve ihtiyaca göre değişiklikler
- Active Directory OU yapısının oluşturulması
- Sql servis hesabını oluşturulması gerekmektedir
- OU yapısının Group policy kurallarından etkilenmesini önlemek gerekmektedir.(Block Inheritance)
4-) SQL Server Hazırlanması
- Kurulacak sql server ile windows server uyumluluğunun kontrol edilmesi gerekmektedir.
- Sql server kurulumu
- SSMS Kurulumu
- Sql server konfigürasyonu
- Sql server sürüm kontrol
- Sql Server ve Cumulative update yüklenmesi
- Sunucunun cluster’a dahil edilmesi
- High Availability Groups kurulumu ve konfigürasyonu
- Spn kayıtlarının yapılması
- Sql server servis hesabının Windows üzerinden yetkilendirilmesi
5-) Veritabanlarının Taşınması işlemi
- Veritabanlarının taşınması ve High availability yapısına dahil edilmesi
6-) Sunucu Üzerinde Kurulması Gereken Tools’lar ve Kontrol İşlemleri
- Sunucu takip tool’larının eklenmesi
- Witness yapısının oluşturulması
- Backup yazılımlarının yüklenmesi
Yukarıda belirtilen genel özetten sonra şimdi detaylı bir şekilde kurulum işlemine geçelim.
1-)Sunucu Kurulurken Yapılması Gerekenler
- Sunucu üzerinde ilk bağlantı sağlandıktan sonra Firmware Update yapılması gerekmektedir. İşletim sistemini kurmadan önce üreticinin araçlarıyla (Dell Lifecycle Controller, HP Intelligent Provisioning vb.) tüm donanımı güncelleyin. Kullanmış olduğunuz sunucu modeline göre aşağıdaki ekran değişmektedir.

İlgili sunucu modelinin internet sayfasından gerekli olan Donanımsal yazılım güncellemelerin indirilmesi gerekmektedir

Sunucu modelini aşağıdaki komut ile öğrenebilirsiniz. CMD komut satırını yönetici olarak çalıştırdıktan sonra aşağıdaki komut yönetici olarak çalıştırılır.
wmic csproduct get name

- Sunucu üzerinde Raid yapılandırılmasının yapılması gerekmektedir. Sunucu kullanım amacına göre konfigüre edilmesi gerekmektedir. İşletim sistemi kurulumu için default Raid yapılandırması Raid1’dir. Diğer disklerin RAID yapılandırılması kullanım amacına göre yapılması gerekmektedir. Detaylı bilgi için sayfadan bulunan Raid makalesinden yararlanabilirsiniz.
- Sunucu üzerinde Management port ayarının yapılması ve gerekli ethernet bağlantısının sağlanması gerekmektedir. Uzak lokasyondaki kullanıcının sunucu üzerinde ki yapılandırmaları bu ethernet üzerinden yapmaktadır.
- İhtiyacınıza göre hangi işletim sistemi kurulacaksa gerekli olan işletim sisteminin kurulması gerekmektedir. Bu kurulumda windows server 2022 standard işletim sistemini kurmuş olacağız. İşletim sisteminin kurulumu sunucu üzerinde yapılabildiği gibi Management port üzerinden uzak bir lokasyonda da yapılabilir. Uzak lokasyon kurulumu aşağıdaki gibidir.
İlk olarak Management port üzerinden bağlantı sağlandıktan sonra Localimizde bulunan .iso dosyasının yükleme işlemi yapılır.

.Iso dosyamızı sunucumuza bağladık.

F11 tuşuna bastıktan sonra sunucumuzun açıldığında nereden başlaması gerektiğini belirlemiş olacağız.

Bağlamış olduğumuz Virtual CD-ROM yapısı seçiyoruz. Çerçeve içerisinde alınmış bölümün altında ise işletim sisteminin disk’i görülmektedir.

Yukarıdaki bölümü seçtikten sonra ilgili bölüm tekrardan geliyorsa tetikleme işlemi için aşağıdaki seçili olan bölüme tıklanır.

İlgili seçimi yaptıktan sonra işletim sistemi kurulumuna başlanır. Sayfada bulunan kurulum makalelerinden işletim sistemi kurulumu öğrenilebilir. İlgili makale içerisinde kurulum bölümünü bulabiliriz.


- Sunucudan disk ünitesine ve diğer tüm ethernet bağlantıların yapılması gerekmektedir.
- İşletim sistemi kurulumu tamamlandıktan sonra Bilgisayar adının değiştirilmesi gerekmektedir.
- Sunucu üzerinde Teaming yapısının oluşturulması için ilgili makale okunabilir. Sunucunun ip adresi ve dns yapılandırması oluşturulan Team yapısı üzerinde tanımlanmaktadır. Network hızı ve Teaming kontrolü için aşağıdaki komut kullanılabilir.
Get-NetAdapter | Select-Object Name, LinkSpeed, Status

- Team yapısının DNS sunucusu üzerinden domaine katılması için kaynak ip-hedef ip 389(LDAP) portona yetki alınması gerekmektedir.
- Sunucunun domain yapısına dahil edilmesi gerekmektedir.
- Domain kullanıcıların uzak bağlantı (RDP) yapılabilmesi için sunucu üzerinde administrator gurubuna eklenmesi gerekmektedir.
Yukarıdaki işlemler tamamlandıktan sonra 2. adıma geçilir.
2-)Sunucuyu Teslim Alınınca Yapılacak Kontroller
- Windows Firewall Kapatılması gerekmektedir. Firewall yapısının aktif olduğu ortamlarda uzaktan sunucuya RDP yapılabilmesi veya ping işleminin gerçekleşmesi için Firewall’un kapatılması gerekmektedir. Firewall olmayan ortamlar için Firewall yapısının kapatılmayıp firewall üzerinden Rules oluşturulması gerekmektedir.
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
- Raid yapısıyla konfigüre edilmiş disklerin Formatlanıp kurulumun yapılması gerekmektedir. Sql server için disk formatlamanın Best Practices değeri 64 Kb’dir. Kurulu olan bir sisteminiz varsa disk yapılandırmanız mevcut sisteminizle aynı yapıda olması gerekmektedir. Yeni kurulacak sunucu ortamlarında disk yapılandırmasının planlı ve dikkatli bir şekilde yapılması gerekmektedir.
- Disk Fragmentation önüne geçmek için File Record Segment Size değeri 4096 değerine çekilmesi gerekmektedir. Ayrıca FRS işlemi sırasında diskin formatlanmasının 64 KB’da kalacak şekilde dikkat edilmesi gerekmektedir. İlgili makaleden detaylı bir şekilde yapılabilir.
--Kontrol
fsutil fsinfo ntfsinfo T:\
-- Yeni değer set etme
format T: /FS:NTFS /A:64K /Q /L /V:TEMP
- Oluşturulan depolama birimlerinin giriş/çıkış (I/O) performansını ölçmek ve stres testi yapmak için IOmeter uygulaması ile disk performansını ölçebilirsiniz.
- Driver’ların Kontrolü
Get-WmiObject Win32_PnPSignedDriver | Select-Object DeviceName, Manufacturer, DriverVersion
- DeviceName → Donanım aygıtının adı
- Manufacturer → Üretici firma
- DriverVersion → Sürücü versiyonu
Yukarıdaki komut sonucunda gelen ekranda herhangi bir aygıtın karşısında güncel bir değer yoksa boş görülmektedir.

Computer Management bölümüne girdikten sonra Device Manager kısmından da kontrol edilebilir. Sarı Ünlem işaretleri İlgili Driver’ların yüklü olmadığı görülmektedir.
Neden sarı ünlem görüldüğüne dair soru sorabilirsiniz. Çünkü sunucu donanımları, standart bilgisayarlardan çok daha fazla özel yonga setine (Chipset, iLO yönetimi, RAID kontrolcüleri vb.) sahiptir ve Windows Server ISO’su genellikle bu spesifik kurumsal sürücüleri içinde barındırmaz.

İlgili driver’ların indirimi için mevcut sayfadan sunucunun modelinin öğrenilmesi gerekmektedir. CMD komut satırını yönetici olarak çalıştırdıktan sonra aşağıdaki komut yönetici olarak çalıştırılır.
wmic csproduct get name

Sunucu modeline göre destek sayfasından ilgili sunucu modeli search edilmektedir. HP marka sunucu kullandığım için sunucusunun ilgili destek sayfasına belirtilen linkten bağlantı sağlanır. Gelen ekranın search kısmında ilgili sunucunun modeli aranmaktadır. Sizde kendi sunucu modelinize göre yapabilirsiniz.

Gelen ekranda Drivers and Software bölümünden sol kısımda sunucunun üzerinde yüklü işletim sisteminin seçilmesi gerekmektedir.

Yukarıdaki bölümleri seçtikten sonra tekrardan filtreleme oluşturulup aşağıdaki driverların indirilmesi gerekmektedir. Sarı ünlem işareti gidene kadar driverların yüklenmesi gerçekleştirilir. Sadece .exe uzantıların indirilmesi indirilen .exe’lerin sunucu üzerinde Run as administrator olarak çalıştırılması gerekmektedir.

Kendi sunucu modelinize göre indirme işlemleri yapılır.
- Windows Update Kontrolü
Belirtilen linkten güncellemeyi indirilecek sayfaya giriş yapılır. Hangi güncelleştirmenin indirileceği windows server sürümüne göre yukarıda belirtilen linkten indirilmesi gerekmektedir. Windows sürümüne göre microsoft’un sayfasında bulunabilir.
Windows update güncellemesi yapıldıktan sonra aşağıdaki çerçeve içerisine alınmış bölümden yüklemiş olduğumuz windows update’i görebiliriz.

Belirtilen bölümde hangi update’in yüklendiği görülmektedir. Ayrıca yanlış yüklenen bir update işleminde Uninstall updates seçeneği ile kaldırılabilir. Aynı işlemler Control panel> Programs>Programs and Feature> Installed Updates bölümünden de yapılabilir.

- İşletim sistemi ve edition uygunluğunun kontrolü(powershell üzerinde çalıştırılır)
systeminfo | Select-String "OS Name","OS Version"; Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 1

İşletim sistemi üzerinden kontrol için Bilgisayarıma sağ tıklayıp özelliklerden kontrol edilebilir. Version numarasının noktadan sonrada detaylı görülebilir.

- Sunucu adı kontrolü
Hostname
- Ip Kontrolü
ipconfig
- Ipv6 kapatılması gerekmektedir.
Herhangi bir role kurulumunda hata mesajıyla karşılaşabiliriz.
- Ağdan gelen iş yüklerini cpu’ya dağıtmak için aşağıdaki belirtilen kısmın enable edilmesi gerekmektedir.
Normal şartlarda, bilgisayarınıza gelen ağ trafiği tek bir işlemci (CPU) çekirdeği tarafından işlenir. Eğer çok hızlı bir internet bağlantınız veya yoğun bir ağ trafiğiniz varsa, o tek çekirdek %100 yüke ulaşabilir ve sistemde kasmalar ya da internet hızında düşüşler yaşanabilir. Gelen ağ paketlerini sistemdeki birden fazla işlemci çekirdeğine dağıtır. Tek bir çekirdeğin üzerine binen yükü azaltarak sistemin daha akıcı çalışmasını sağlar. Veriler paralel olarak işlendiği için ağ gecikmesi (ping) düşebilir. Modern bilgisayarlarda ve sunucularda bu ayarın Enabled olması istenir. Bu sayede sanal makineleriniz veya ana sisteminiz ağ trafiğini işlerken işlemcinizin tüm gücünden faydalanabilir. Eğer çok eski bir işlemci kullanmıyorsanız veya özel bir ağ çakışması yaşamıyorsanız, bu ayarı Enabled konumunda bırakmak en iyisidir.

- Sunucu üzerinde bulunan kullanılmayan ethernetlerin disable moduna çekilmesi gerekmektedir. Server manager üzerinde kurulacak Features yapılandırmalarında yanlış ip değerlerinin görülmesine sebep olacak bu durumda ise kurulacak Features tam çalışmamasına sebebiyet verecektir.
- Sunucu üzerinde Remote Desktop özelliğinin açık olması gerekmektedir. Yoksa uzak bağlantılarda hata alınır.

3-)Sql Server Kurulmadan Önce Windows Server’ın Hazırlanması
- Power Options kısmında high Performance seçilmesi gerekmektedir. Powershell üzerinde kontol script’i çalıştırılır.
powercfg /getactivescheme --Default balanced gelmektedir.
Güç planını High performance seçmek için aşağıdaki komut ile yapılmaktadır.
powercfg /setactive SCHEME_MIN

Windows üzerinden ayar kontrol edilir.

Windows üzerinde aşağıdaki bölümden yapılmaktadır. Windows üzerindeki “High Performance” planı tek başına yeterli olmayabilir; çünkü donanım seviyesindeki enerji tasarrufu özellikleri (C-States), işletim sisteminin taleplerinden bağımsız olarak gecikmelere yol açabilir. İşlemci çekirdekleri boşta kaldığında enerji tasarrufu için “Park” moduna geçer veya uyku durumuna (C-States) girer. Veritabanı gibi milisaniyelerin ve IOPS değerlerinin önemli olduğu sistemlerde, bir istek geldiğinde işlemcinin bu düşük güç modundan çıkıp tam frekansa ulaşması mikrosaniyelik gecikmelere neden olur. BIOS üzerinden C-States (C1E, C3, C6) kapatıldığında, işlemci her an en yüksek performans modunda hazır bekler. Bu, donanım kaynaklarını “her an savaşa hazır” durumda tutacaktır.
Sunucunuzun türüne göre F9 ve F2 tuşlarıyla System Utilities veya Setup bölümüne giriş yapılır. Hp sunucusunda ilgili işlem yapıldığı için F9 tuşu ile hareket edilir. Aşağıdaki işaretli bölüme tıklanır.

Sunucularınızı modeline göre Workload Profiles(HP) ve System Profile kısmında ilgili yapılandırma bölümüne girilir. HP sunucuları için High Performance ayarlarının yapılandırılabilmesi için aşağıdaki resimde bulunan Custom seçeneğinin işaretlenmesi gerekmektedir. Yoksa default olarak herhangi bir seçime izin vermez.

Yukarıdaki seçim yapıldıktan sonra Power and Performance Options kısmına tıklanır.

Girilen bölümde default olan ayarlar aşağıdaki gibidir.

Yukarıdaki ayarları sistemin en performanslı çalışacağı şekilde yapılandırıyoruz.
Power Regulator Static High Performance olarak ayarlanması gerekmektedir.
Aşağıdaki iki seçenek ile CPU derin uykuya girmesinin önüne geçilir. Default olarak C6 State yapısında kalması sunucu üzerinde herhangi bir iş yükü yoksa kısacası cpu kullanılmadığında sunucu uyku moduna geçmektedir.
Minimum Processor Idle Power Core C-State → C1 State (veya varsa Disabled)
Minimum Processor Idle Power Package C-State → Package C0/C1(veya No)
Maksimum performansta çalışması için Energy/Performance Bias değerinin Maximum Performance olarak değiştirilmesi gerekmektedir.
İşletim sistemini CPU’yu yönetmesin, BIOS yönetmesi için Collaborative Power Control ifadesinin Disable moduna çekilmesi gerekmektedir.
Sql server üzerinde memory/cache latency sorununun önüne geçmek için Uncore Frequency Scaling ifadesinin Maximum yapılması gerekmektedir.

C6 gibi derin C-State’ler CPU’yu uykuya sokar. Geri uyanma süresi yaratır Bu da Query latency, IO gecikmesi, Cluster failover süresi üzerinde negatif etki yapar. Bu ayarlarla Performans artar, Stabilite artar. Ama güç tüketimi yükselir.
- Sunucu üzerinde sıcaklık değerlerini düşürmek için fun değerlerinin iyi bir şekilde optimize edilmesi gerekmektedir. Hp sunucu üzerinde bu değeri görmüş olacağız. Dell sunucularında da IDRAC üzerinden bu ayarların iyi konfigürasyonun yapılması gerekmektedir.

Gelen ekranda Maximum Cooling yapısının seçilmesi gerekmektedir. Aynı işlemler ILO üzerinden de yapılabilir.

Not: DELL sunucularında da aşağıdaki gibi yapılmaktadır.

- C diski doluluğu önüne geçmek için sql server data root directory yapısı için Kurulum(K) adında bir diskin işletim sistemine eklenmesi gerekmektedir. C diski altında olmasında herhangi bir sakınca bulunmaz. Sadece system veritabanlarına tablo veya benzeri büyük bir işlemin eklenmemesi temel şarttır. Çünkü ilgili işlem yapılınca işletim sisteminin çökmesine sebebiyet vereceği içindir.
- System Locale ihtiyacınıza göre Set Edilmesi gerekmektedir. Eğer sunucu üzerinde sadece veritabanı (MSSQL) çalıştırıyorsanız ve özel bir zorunluluk yoksa:
System Locale (Get-WinSystemLocale): en-US kalması genellikle daha güvenlidir (uyumluluk açısından).
User Culture (Get-Culture): Kendi kullanıcınız için bunu tr-TR bırakabilirsiniz; böylece siz bağlandığınızda saat ve tarih formatını Türkçe görürsünüz ancak sistem çekirdeği İngilizce kalır. Eğer bu sunucu üzerinde çalışacak uygulamalar özellikle Türkçe karakter setine ve yerel ayarlara ihtiyaç duyuyorsa System Locale’i tr-TR yapmalısınız. Aksi halde, teknik karmaşıklığı önlemek adına sistem genelini en-US tutmak profesyonel standarttır.
Get-WinSystemLocale #kontrol
Get-WinSystemLocale #kontrol
Get-Culture #kontrol

Aşağıdaki komutla set etme işlemini yapabiliriz.
Set-WinUILanguageOverride -Language "tr-TR" //set etme ( Restart sonrası gelir)
İlgili bölümden manuel kontrol edilebilir.

- time Zone UTC +3 Istanbul Olarak Set edilmesi gerekmektedir.
tzutil /g #kontrol
Get-TimeZone #kontrol

Aşağıdaki komutla set edilebilir. İkinci yapılacak yer Windows üzerinde Control panelinde Clock and Region bölümünden yapılabilir.
Set-TimeZone -Name "Turkey Standard Time" #kontrol
tzutil /s "Turkey Standard Time" #kontrol

Control Panelinden ilgili bölümden yapılabilir.


Not: İlerleyen aşamalarda sql server kurulumunda Collation bölümünde sizin önceden belirlediğiniz Collation yapısının gelmesini istiyorsanız.

Change system locale.. kısmından size uygun ifadeyi seçebilirsiniz.

Değişimden sonra Restart verilmesi gerekmektedir.

- Page file kontrol edilmesi gerekmektedir.
Computer properties>>Advance System settings>>Advanced>>Settings>>Virtual Memory kısmına girilir. İşletim sistemi modeline göre giriş ekranı değişiklik gösterilir.

Windows’un RAM yetmediğinde hard disk üzerinde oluşturduğu sanal bellek alanıdır. RAM dolduğunda kullanılmayan verileri buraya taşır. Çok yüksek RAM’iniz varsa bu yapı kullanılmaz.
Bu ayarı neden tamamen kapatmamalıyız. Sistem mavi ekran verirse (BSOD), hata dökümünü (Memory Dump) yazabilmek için page file’a ihtiyaç duyar. Bazı Windows servisleri, fiziksel RAM boş olsa bile page file’ın varlığını sorgular. Tamamen kapatmak “Out of Memory” hatalarına neden olabilir.
Sunucunuzun performansını korumak ve diskte gereksiz şişmeyi önlemek için en iyi yöntem, Initial (Başlangıç) ve Maximum boyutları birbirine eşitlemektir.
10 GB olarak ayarlandıktan sonra Set seçeneği ile değerler set edilmiş olur.

SQL Server bulunan bir makinede page file’ı küçültüyorsanız, SQL Server’ın “Max Server Memory” ayarını mutlaka yapılandırmış olmalısınız. Eğer SQL Server tüm RAM’i tüketirse ve page file da yoksa işletim sistemi kilitlenebilir.
Yukarıda set edilen değerin uygulanması için sunucunun restart edilmesi gerekmektedir.

- Telnet Client kurulması gerekmektedir. İlgili makaleden ne olduğuna ve kurulumuna detaylı bakılabilir.
- Multi Path IO kurulması gerekmektedir. İlgili makaleden ne olduğuna ve kurulumuna detaylı bakılabilir.
- .NET Framework yüklenmesi gerekmektedir. Sunucunun ihtiyacı durumunda ilgili Framework Microsoft sayfasından indirilip kurulumu yapılabilir.

Server Manager ekranından kurulum yapılmaz. İlgili Features seçildikten sonra aşağıda çerçeve içerisine alınmış yerden .NET Framework uzantısının belirtilerek kurulum işlemi yapılır.

Powershell üzerinden işletim sisteminin .iso dosyası içerisinde bulunan sources>sxs klasörü belirlemiş olduğunuz disk altına(D) dosya yolu kopyalanarak aşağıdaki powershell komutuyla çalıştırılır.
Install-WindowsFeature NET-Framework-Core -Source D:\sources\sxs

Bu şekilde gerekli olan tüm .NET Framework yüklenmiş olur. İşletim sisteminin içerisinden ilgili dosya çıkarılmadan da bu işlem yapılabilmektedir.

- Failover cluster features yüklenmesi gerekmektedir. Aşağıdaki komutlar yükleme işlemi yapıldığı gibi Windows server manager üzerinde de yapılmaktadır. Windows üzerinde yapılması tercih edilir. Features eklerken IP konusunda yanlışlıkların önüne geçmek içindir.
Get-WindowsFeature -Name Failover-Clustering #kontrol
Install-WindowsFeature -Name Failover-Clustering #yükleme
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -Restart #yükleme ve restart etme
Sql server kurulumu yapıldıktan sonra Failover Cluster’a Node dahil edilmektedir. Sql server sürümlerine göre bazı sunucuyu cluster yapısına almamız hataya sebep vermektedir.
- Sunucu üzerinde User Account Control yapısının kontrol edilmesi gerekmektedir. Default şeklinde aşağıdaki resimde gibi bırakılabilir. Sunucu yönetirken bazı SQL Server servislerinin veya yönetim araçlarının çalışması için “Run as Administrator” demen gerekir. UAC, Run as Administrator gerektiren uygulamalar için onay mesajı sormaktadır.

Yukarıdaki bölümden ilgili ayarı set ettikten sonra Windows>Run kısmında gpedit.msc veya secpol.msc yazınca sunucu seviyesinde daha geniş user account işlemleri yapılabilir.

Yukarıdaki bölümde bulunan Windows yönetici yetkilerine sahip işlemleri sınırlayarak yetkisiz değişiklikleri ve kötü amaçlı yazılım riskini azaltıp güvenli bir katman oluşturabiliriz. Detaylı bilgi için ilgili makale size yardımcı olacaktır.
User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode
Bu ayar, yönetici yetkisi isteyen bir işlem çalıştırıldığında kullanıcıdan nasıl onay alınacağını belirler.

Seçenekler:
1. Prompt for consent → “Bu işlemi yönetici olarak çalıştırmak istiyor musunuz?” penceresi çıkar (varsayılan).
2. Prompt for credentials → Yönetici kullanıcı adı/şifresi istenir.
3. Elevate without prompting → Hiç sormadan işlemi yönetici yetkisiyle çalıştırır. Bu da güvenlik duvarını tamamen açmak gibidir — kötü amaçlı yazılım bulaşırsa sistem tamamen ele geçirilebilir.
Üretim ortamında “Prompt for consent” (veya “Prompt for credentials”) kullanılmalıdır.“ Elevate without prompting” yalnızca kontrollü test ortamlarında veya otomatik kurulum senaryolarında tercih edilebilir.
User Account Control: Run all administrators in Admin Approval Mode
Bu ayar, Windows’ta yerel Administrators grubundaki kullanıcıların yönetici ayrıcalıklarını nasıl kullanacağını belirler. Sadece yetki gerektiren işlerde yönetici moduna geçilir.

Diğer bölümlerin ne işe yaradığını yukarıdaki linkten detaylı bir şekilde görmüş olacağız.
Aşağıda belirtilen işlemler sadece bulunduğunuz ortamda Active directory ve Dns yönetimi yapan kişilerin konfigürasyonunda yapılması gerekmektedir.
- Active directory tarafında bir OU yapısının oluşturulması. Tüm nesnelerin OU altına taşınması gerekmektedir. Daha sonra bir security group oluşturulup ilgili OU delegate yapısının oluşturulması gerekmektedir. Alwayson yapısı için bir kullanıcının oluşturulması gerekmektedir. Bu kullanıcı oluşturulurken aşağıdaki iki seçenek seçilmelidir. Artık sql server servis hesaplarının yerine geçen yapı gMSA yapısıdır. ilgili delegate işlemine oluşturulan gMSA hesabının eklenmesi gerekmektedir. Bu yapı ile aşağıdaki gibi şifreleme işlemleriyle uğraşmaz. Sayfadan ilgili gMSA makalesi okunabilir.
SQL Servisleri İçin Kullanıcı Hesabının Oluşturulması

- Cluster üyesi sunucularımızın Domainde yaratılan diğer Group Policy kurallarından olumsuz bir şekilde etkilenmesini önlemek adına ilgili OU için genel yapılan policy’lerin devralma işlemini bloke etmemiz gerekmektedir. Bu işlem için Group Policy Management’a açalım ve ilgili OU ya sağ tıklayıp Block Inheritance diyelim. Böylelikle Domain için yukarıdan yayımlanmış GPO ilkelerinden minimum seviyede etkilenilmiş olacaktır.

4-) SQL Server Hazırlanması
- Kurulacak sql server ile windows server uyumluluğunun kontrol edilmesi gerekmektedir. Microsoft sayfasından desteklenip desteklenmediği bulunabilir. Çok önemli bir kontrol işlemidir. İlgili linkten kontrol edilebilir. Yanlış yüklenen bir sql server sürümünü Uninstall etmek isterseniz ilgili makale size yardımcı olabilir.
- Sql server versiyonunuza göre hangi Cumulative update gerektiğini belirtilen linkten bulabilirsiniz. Daha sonra windows kataloğundan ilgili CU yapısının indirilmesi gerekmektedir. Microsoft update katalog kısmından indirilmesi gerekmektedir. Yanlış yüklenen bir Cumulative update işlemini ilgili makale yardımıyla geri alabilirsiniz.
- Sql server’ın tüm özelliklerinden faydalanmak için Enterprice Core Based sürümünün kurulması gerekmektedir. Windows server sürümünde herhangi bir sakınca bulunmamaktadır.
Not: İlgili Node’u Failover Cluster’a eklemeden önce sql server kurulumunun yapılması gerekmektedir. Yoksa kurulum ekranında Database Engine kurulamaz hata verir. Sql server versiyonlar arası farklılıklar gösterdiği için bu önlem alınmaktadır.
- Sql Server Setup çalıştırılır. Sql server kurulumuna geçilir. Başlangıç bölümünde lisans anahtarını kontrol ve windows güncelleştirmeleri bölümü geçilir.
- Sql server kurulumunda Database engine Features haricinde hangi features kurulumu yapılacaksa ihtiyaçlarınıza göre seçilmesi gerekmektedir. Sayfada bulunan kurulum makalelerinden detaylı bir şekilde kurulum işlemi yapılabilir. Instance root directory yapısının default olarak bırakılması gerekmektedir. C diskinin altında olması sql server’ın performanslı çalışması için önerilen yöntemdir.
- Mevcutta bulunan Alwayson yapısına yeni kuracağınız sql server instance’ı bağlanacaksa, kurulum adımlarındaki Instance Name diğer alwayson yapılacak sql server instance’larla aynı olması gerekmektedir. Stand alone sql server kurulumlarında herhangi bir isim verebilirsiniz.
- Sql server servis hesabı veya gMSA hesabının set edilmesi gerekmektedir. Sonradan sql configuration managerdan da set edilebilir. İlerleyen adımda ilgili kullanıcılara local admin yetkisi vermiş olacağız.
- Collation yapısının ihtiyaçlarına göre karar verilmesi gerekmektedir. Yanlış seçim işlemi instance’ın tekrardan Rebuild edilmesi gerekmektedir. Yanlış seçim işlemlerinde ilgili makale size yardımcı olacaktır.
- Kullanıcıların hangi modda(windows ve sql auth..) bağlanacağı ve mevcutta bulunan kullanıcıların set edilmesi gerekmektedir. Sql server’a hem windows hem de sql kullanıcısıyla login olabilmesi için Mixed modun seçilmesi gerekmektedir.
- Başlangıçta kurulumunu yaptığımı K diskinin Data root directory olarak set edilmesi gerekmektedir. C diski doluluğunun önüne geçilip performans anlamında herhangi bir sıkıntı ile karşılaşmamak içindir.
- User database directory, User database log directory ve Backup directory disk uzantılarının doğru set edilmesi gerekmektedir. Alwayson yapısındaki diğer sql serverlarla aynı olması tercih sebebidir.
- Temp DB directory ve Temp DB Log directory yapısının sisteminizin ihtiyaçlarına göre set edilmesi gerekmektedir. Sql server kurulumundan sonrada yapılmaktadır. İlgili makalede sonradan tempdb değişikliği yapabiliriz.
- Sql server için Maxdop değerinin belirlenmesi gerekmektedir.
- Sql server ne kadar memory tahsis edileceğinin belirlenmesi gerekmektedir. İlgili sayfadan hesaplama işlemi yapılmaktadır. Min ve max memory değerlerinin bir birbirlerine yakın sistemin kabul edeceği %85 değerinde set edilmesi performans açısından tercih edilir. İlgili Checkbox seçilmezse Default değerler set edilmiş olur.

- Sql server kurulumu tamamlandıkran sonra Sql server congifuration manager bölümüne girilip Sql Server Network Configuration ayarlarının yapılması gerekmektedir. Shared Memory ve TCP\IP Enable hale getirilir. Sql server için port numarası belirtilir. Port konfigürasyonu konusunda herhangi bir sorun yaşamamak için tüm Dinamik port üzerinde bulunan 0 değeri kaldırılır. Çünkü 0 değerinde olması sql server restart edildiğinde yeni bir dinamik port set edilir.

- SQL Server Configuration Manager bölümünden AlwaysOn High Availability sekmesinde Enable AlwaysOn Availability Groups yapısının aktif edilmesi gerekmektedir. Mevcutta hangi cluster altına eklenmişse ilgili cluster yapısının görünmesi gerekmektedir. Sıfırdan bir AlwaysOn kurulumu yapılacaksa sayfada bulunan Alwayson makalesinin okunması gerekmektedir. Mevcut olan bir Alwayson yapısına Replica olarak eklenmesi isteniyorsa AG yapısına eklememiz yeterli olacaktır.
- Sql Server Management studio’nun kurulması gerekmektedir. Sql server kurulurken eklenen user ile giriş yapılması gerekmektedir. Ayrıca sql server servis hesabıyla giriş yapılıp yapılmadığının kontrol edilmesi gerekmektedir. İlgili sayfadan hangi SSMS sürümünü kullanmak istiyorsanız indirip kurabilirsiniz.
- Sadece Replicanın ekleneceği ortamlarda Auto seeding özelliğinin kapatılması gerekmektedir. Yoksa primary sunucusu üzerinde bulunan tüm veritabanları secondary sunucusuna aktarılmaya başlanır.
- Cost Threshold for Parallelism değeri bulunduğumuz ortama göre set edilmesi gerekmektedir.
- İnstance properties bölümünde Sadece Failed olan loginlerin sql server error log’a kaydetmesini sağlayan Failed logins only seçeneğinin aktif edilmesi gerekmektedir.
- Aşağıdaki bölümün Instance properties ekranında bulunan Connections sekmesinde ilgili bölümün işaretlenmesi gerekmektedir.

- Instance Properties ekranında Database Settings kısmında Fill factor ve Compress backup seçeneklerinin aktif edilmesi gerekmektedir.

- Sql server’a SSMS üzerinden giriş yaptıktan sonra sıfırdan bir AlwaysOn kurulumu yapılacaksa ilgili makaleden yaralanabilir.
- Sql Server Kurulumu yapılan sunucuya sıfırdan bir AlwaysOn kurulumu yapılmayıp mevcutta bulunan bir availability group yapısına bağlanacaksa Replica’nın Availability Group yapısına eklenilmesi gerekmektedir. Bu işlemi yapmadan önce Node’un cluster altına eklenmesi gerekmektedir. Bir sonraki maddeden node’u cluster altına ekleyebilirsiniz. AlwaysOn altına eklenecek sunucu farklı bir subnetteyse ilgili network’a uygun ip adresinin listener altına eklenmesi gerekmektedir. Yoksa replica eklenirken ilgili hatanın alınmasına sebep verecektir

- Sıfırdan kurulum yapıldığında AlwaysOn Read-Only Routing ve Readable Secondary yapısını oluşturulması gerekmektedir. Mevcutta bulunan yapıya eklendiğinde sadece ilgili Node için ayarların yapılması gerekmektedir.
- AlwaysOn Backup alma altyapısının oluşturulması gerekmektedir. Mevcutta bulunan bir yapı var ise gerekmez.
- Sql server sürümüne göre güncel olan Cumulative Update’in kurulması gerekmektedir. Makalenin başında ilgili cumulative update’in nereden indirdiğini belirtmiştik. Tekrar vermek gerekirse ilgili bağlantıdan sql server sürümüne uygun indirme işlemi yapılabilir.

- Sunucunun Cluster’a dahil edilmesi
Sql server KURULDUKTAN sonra mevcutta bulunan cluster varsa node’a dahil edilir. Sıfır kurulum ise failover cluster kurulumu yapılmaktadır. Sıfırdan kurulumda cluster’a bir dns name ve kullanılmayan bir ip verilmelidir. Node’lar eklenirken kesinlikle node’ların sağlıklı olup olmadığını anlamak için validate işleminin gerçekleşmesi gerekmektedir. İlgili makaleden detaylı bir şekilde cluster kurulumu yapılabilir. Tabi sql server kurulumu gerçekleştikten sonra yapılmalıdır. Garanti olması açısından bu yöntem söylenmektedir.
Add-ClusterNode -Cluster "ClusterName" -Name "NodeName"
Arayüz üzerinden ise aşağıdaki bölümden Add Node.. seçilerek cluster’a dahil edilir.

- Farklı bir subnetten Availability group altına ikinci bir listener eklenmesinden bahsetmiştik. Bunun failover cluster adımını da failover cluster bölümüne girdikten sonra alt bölümde Server Name kısmında ilgili cluster ismini seçip properties dedikten sonra eklenmesi gerekmektedir.

Add denilip farklı subnettten tahsis edilmiş olan ip adresinin eklenmesi gerekmektedir. Dependencies kısmında eklenen bu ip adreslerimizi görebiliriz.

İlgili işlemi gerçekleştirdikten sonra bu cluster altında bulunan tüm node’ların Restart edilmesi gerekmektedir.

- Sql server memory ve CPU sayısının kontrol edilmesi gerekmektedir. Çünkü yanlış bir sql server setup sunucu üzerindeki tüm CPU kullanımını engelleyebilir. İlgili sayfadan sql server’a ne kadar memory set edileceğini bulabiliriz. Aşağıdaki komut ile scheduler count, CPU count ve her bir numa node üzerinde bulunan CPU sayısını göstermektedir. Sql Server kurulumu ve Cumulative update yapıldıktan sonra özellikle kontrol edilmesi gerekmektedir.
SELECT
scheduler_count AS [Scheduler Count],
cpu_count AS [CPU Count],
hyperthread_ratio AS [Hyperthread Ratio]
FROM sys.dm_os_sys_info;
- SQL Server’ın en büyük darboğazlarından biri olan tempdb üzerindeki “metadata çekişmesini” (metadata contention) çözmek için kullanılan oldukça güçlü bir ayardır. Bu ayar aktif edildiğinde: Sistem tabloları RAM üzerinde, mandallama (latching) gerektirmeyen veri yapılarına dönüşür. Özellikle çok çekirdekli sistemlerde, tempdb üzerindeki kilitlenmeler neredeyse tamamen ortadan kalkar. Geçici nesnelerin (temporary objects) yönetimi çok daha akıcı hale gelir.
ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED TEMPDB_METADATA=ON
- Sql server servis hesabının ve sunucu üzerinde yetkili olan kullanıcıların ilgili Local admin gurubuna eklenmesi gerekmektedir. Yada ilgili OU yapısı için bir policy oluşturulur.
net localgroup Administrators
Aşağıdaki komut ile ilgili kullanıcı local admin gurubuna eklenir.
Add-LocalGroupMember -Group "Administrators" -Member "YCL2026\sql_gMSA$"
- Local security policy’de run kısmına secpol.msc yazılabilir. Lock pages in memory, Logon as service ,Log on as a batch job, Bypass traverse checking, Perform volume maintenance tasks ayarlarının yapılması gerekmektedir.

Bypass traverse checking: Bu yapı Windows dosyaları arasında geçişler ve yapılacak işlemler için izin almadan çalışabilmesini sağlar.
Log on as a service: Windows üzerinde tanımladığınız uygulamamın bir servis gibi çalışabilmesine izin verir. Bu yüzden sql server servis hesabını ve sql server agent servis hesabının burada tanımlanması gerekmektedir.
Lock Pages In Memory: Bu yapı ile sql server’ın sahip olduğu memory’in Windows’a geri verilmesi engellenmiş olur.
Log on as a batch job: SQL Server üzerinden windows üzerinde bir işlem yapılması gerektiğinde(örneğin bazı scriptler içeren bir bat dosyası çalıştırmak) sql server’ın kullanacağı hesabın burada tanımlanması gerekir.
Perform volume maintenance tasks: SQL Server Servis hesabına Windows üzerinde, perform volume maintenance tasks için gerekli yetki verildiği takdirde, sql server’dan file allocation isteği geldiğinde data dosyaları için 0 ile doldurma işlemi yapılmadan istenilen alan sql server’a tahsis edilir. Bu şekilde istenilen alan’ın 0 ile doldurulmasıyla geçecek süre kazanılmış olur.
- Sql server SPN kayıtlarının yapılması gerekmektedir.
Sql server kurulu olan sunucu üzerinde 4 tane SPN kaydı yapılmaktadır. İlgili makaleden detaylı bilgi öğrenebilirsiniz.
# SQL Server Availability Group için SPN-Listener Port
setspn -S MSSQLSvc/AG_Listener.yunusyucel.com:1453 YCL2025\SqlUser
setspn -S MSSQLSvc/AG_Listener.yunusyucel.com:INSTANCE_NAME YCL2025\SqlUser
# Sunucu ilgili port için SPN-Sql Servis Port
setspn -S MSSQLSvc/Server1.yunusyucel.com:1433 YCL2025\SqlUser
setspn -S MSSQLSvc/Server2.yunusyucel.com:1433 YCL2025\SqlUser
# Sql Server Instance için SPN
setspn -S MSSQLSvc/Server1.yunusyucel.com:INSTANCE_NAME YCL2025\SqlUser
setspn -S MSSQLSvc/Server2.yunusyucel.com:INSTANCE_NAME YCL2025\SqlUser
gMSA yapılarında yukarıda girilen spn kayıtları gMSA için girilmesi gerekmektedir.
# SQL Server Availability Group için SPN-Listener Port
setspn -S MSSQLSvc/AG_Listener.yunusyucel.com:1453 YCL2025\gMSA_SQLCLS
setspn -S MSSQLSvc/AG_Listener.yunusyucel.com:INSTANCE_NAME YCL2025\gMSA_SQLCLS
# Sunucu ilgili port için SPN-Sql Servis Port
setspn -S MSSQLSvc/Server1.yunusyucel.com:1433 YCL2025\gMSA_SQLCLS
setspn -S MSSQLSvc/Server2.yunusyucel.com:1433 YCL2025\gMSA_SQLCLS
# Sql Server Instance için SPN
setspn -S MSSQLSvc/Server1.yunusyucel.com:INSTANCE_NAME YCL2025\gMSA_SQLCLS
setspn -S MSSQLSvc/Server2.yunusyucel.com:INSTANCE_NAME YCL2025\gMSA_SQLCLS
- Sysadminlerin oluşturulması gerekmektedir. sa kullanıcısının disable moduna çekilmesi yeni bir sysadmin kullanıcısının eklenmesi gerekmektedir. sa kullanıcısı güvenlik açığına sebep olmaktadır.
CREATE LOGIN [domain\user] FROM WINDOWS;
EXEC sp_addsrvrolemember 'domain\user', 'sysadmin';
Sql Auth. kullanıcı eklenecekse aşağıdaki komut kullanılır.
USE [master]
GO
CREATE LOGIN [saVT23] WITH PASSWORD=N'**********'
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [saVT23]
GO
- sp_configure ayarlarının mevcutta bulunan bir sunucu üzerinde karşılaştırılması veya minumum aşağıdaki değerlerin set edilmesi gerekmektedir.
-- Gelişmiş ayarları aç (bir kez yapılır)
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'remote admin connections',1
reconfigure
EXEC sp_configure'remote access',1
reconfigure
EXEC sp_configure 'max server memory (MB)', 4096;
RECONFIGURE;
EXEC sp_configure 'max degree of parallelism', 1;
RECONFIGURE;
EXEC sys.sp_configure 'backup compression default', '1'
reconfigure
sp_configure 'clr enabled', 1;
reconfigure
sp_configure 'optimize for ad hoc workloads', 1;
reconfigure
sp_configure 'Database Mail XPs', 1;
reconfigure
sp_configure ayarları başka bir sunucu ile aynı yapılacaksa iki sunucu arasında linked server yapısı oluşturulur. İlgili makaleden Linked server yapısı oluşturulabilir. Sayfada bulunan diğer linked server makalelerden de yapılabilir. Temel şart karşı sunucunun system veritabanlarını görmektir. Aşağıdaki komut çalıştırıldığında ikinci sunucuda olmayan tüm sp_configure ayarları görülmektedir.
SELECT name, value, value_in_use
FROM sys.configurations
EXCEPT
SELECT name, value, value_in_use
FROM [LinkedServerName].master.sys.configurations
ORDER BY name;
- Sunucu üzerinde mail konfigürasyonu yapılması sonucu sunucuların mail sunucusuna ulaşabilmesi için hedef porta erişebilmesi için firewall dan yetki verilmesi gerekmektedir. Başka bir sunucuda mail konfigürasyonun yapısına bakılıp belirli düzenlemeden sonra oluşturulabilir. Database mail konfigürasyonu için ilgili makale sizlere yardımcı olur.
- Son kullanıcıya mail gönderimi için sql server agent altında bulunan operator kısmında operator tanımlanması gerekmektedir. Mevcutta hazır bir yapı bulunuyorsa create script’inin alınıp yeni sunucuda çalıştırılması gerekmektedir.
- Başka bir sunucu üzerinde bulunan eklenilmesi istenen ilgili ifadeler: Resource Governer, Linked Server, Extented event ,Policy based management, login Trigger, server ddl trigger, master veritabanında oluşturulan procedure, Server seviyesinde alert, agent altında bulunan operatör scriptlerinin alınıp yeni ortamda çalıştırılması gerekmektedir.
- Mevcutta bulunan procedure’lerin create scriptinin alınıp yeni ortamda çalıştırılması gerekmektedir.
- Takip işlemi için sp_whoIsactive ve Backup-Index-Tutarlılık kontrolleri için Ola hallengren procedure’lerin indirilip kurulması gerekmektedir.
- Instance üzerinde stand-alone çalışacak veritabanları oluşturulur. Mevcutta bulunuyorsa create script alınıp çalıştırılması gerekmektedir.
- Jobların scriptleri alınıp yeni ortama taşınması gerekmektedir.(F7 basılıp seçildikten sonra script alınması)
- Loginlerin taşınması gerekmektedir. Kullanıcıları şifreleri ve SID numaralarıyla taşımak için Microsoft’un sp_help_revlogin script’ini kullanarak tüm kullanıcılar alınıp yeni ortamda çalıştırılabilir.
- Server Level Permissions yetkilerinin kontrol edilmesi gerekmektedir. İlgili makaleden rahatlıkla görülebilir. Bazen sp_help_revlogin procedure ile kullanıcıların server seviyesinde yetkilerinde sıkıntı olabilmektedir.
- Sql server engine error log ve sql agent error log konfigürasyonu yapılması log klasörleri için job yoksa oluşturulması gerekmektedir. Aşağıdaki komut ile sql server error log belirtilen sayıya kadar log dosyası oluşturmuş olacaktır.
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 10;
Agent Error log için belirli zaman aralıklarında log dosyası oluşturmaktadır. Bu işlemi manuel veya bir job aracılığıyla yapılabilir.
EXEC msdb.dbo.sp_cycle_agent_errorlog;
Error log için belirli zaman aralıklarında log dosyası oluşturmaktadır. BBu işlemi manuel veya bir job aracılığıyla yapılabilir.
EXEC master.sys.sp_cycle_errorlog;
- Mevcutta bulunan veya kullanılmasını istediğimiz Trace Flaglerin kontrol edilip eklenmesi gerekmektedir. SQL Server Configuration Manager bölümüne girilir gelen ekranda Trace Flag bölümünde aşağıdaki değerlerin eklenmesi gerekmektedir.
-T174: Bucket count limitini 40 binden 160 bine çekmeye yarar. Varsayılan bucket count değeri 40001’dir. Normal değerde toplam cache üzerinde bulanabilecek max. plan sayısı 160000’dir. T174 trace flag ile bucket count sayısı 160001, max plan cache sayısı 640000’e çıkarılır.
-T1118: Diskten veriyi mixed extent şeklinde değil de uniform extent şeklinde çekmesi sağlanmaktadır. Tempdb performansına olumlu etki yapmaktadır.
-T3459: Bu paremetre secondary sunucusundaki DIRTY_PAGE_TABLE_LOCK, REDO_THREAD_PENDING_WORK, PARALLEL_REDO_DRAIN_WORKER, PARALLEL_REDO_FLOW_CONTROL gibi bekleme türlerine sebebiyet vermektedir. Secondary sunucusunda parelelizmin önüne geçmek için bu parametre kullanılır. Gerçek sistem üzerinde bu özellik açılır.
-T7752 ve -T7745: Bu iki trace flag query store açıldığında secondary veritabanında eklenmesi gerekir. Herhangi bir failover durumunda query store daki verilerin restoresinin önüne geçer.
-T8048: Numa bazlı bölünmüş memory objelerini CPU bazlı bölünmüş hale getirir. Yüksek miktarda oluşan CPU kullanımını düşürmektedir. NUMA: Çok çekirdekli / çok işlemcili sistemlerde belleğin bölgelere ayrılması demek. Her CPU’nun “kendine yakın” belleği var. CPU bazlı bölünmüş hale getirir: Belleği NUMA düğümlerine göre değil, doğrudan CPU’lara göre paylaştırıyor.
-T8780: SQL Server sorgu iyileştiricisi birden çok sorgu planı adayı oluşturur ve ardından en düşük maliyete sahip sorgu planını seçer.
-T1236: Veritabanındaki lock kaynaklı performans problemlerini çözer.
-T9024: Log write waits’in artmasını önler.
–T2371 : İndex yeniden oluşturması sırasında, önceki index’in istatistiklerinin korunmasını sağlar.
–T3226 : Her başarılı yedekleme sql server error log’a ve sistem günlüğüne log kayıdı atar. Gün içinde birden fazla yedekleme mesajının loglara düşmesi, bulmaya çalıştığımız bir ifadenin de aramasını zorlaştırır. Bu Trace Flag ile backup log girdilerinin gelmemesini sağlarız. Bunun için belirtilen T3226 trace flag’i kullanılır.
- Windows servisler bölümünde bulunan SQL Server CEIP service ve sql features bağlantılı diğer CEIP servisleri disable edilmesi gerekmektedir. Microsoft ürün geliştirme deneyimi için ihtiyaç duyulmaktadır.
- Sunucular için Dış ağa erişim yetkisi talebi verilmelidir.(Sms gitmiyor ise)
5-) Veritabanlarının Taşınması işlemi
- Yeni ortama ilgili veritabanının FULL-DIFF-LOG backupları alındıktan sonra No Recovery modun da Restore edilme gerekmektedir. Yeni ortamda veritabanı Restoring modunda bırakıldıktan sonra Auto seeding yapısı açıksa kendi eklenir. Yoksa veritabanı farklı bir sunucuda AG altındaysa yeni sunucuda Join edilmesi gerekmektedir.
- Veritabanları Restore edildikten sonra Compatibility levelleri kontrol edilip gerekirse güncel değere çekilmelidir.
- Log Shipping yöntemi ile de veritabanımız başka bir ortama rahatlıkla taşınabilir.
6-) Sunucu Üzerinde Kurulması Gereken Tools’lar ve Kontrol İşlemleri
- Sunucular üzerinde Scom ve zabix gibi toollar varsa eklenmesi gerekmektedir.
- Sunucuların takip işlemi için raporlama ortamlarına eklenmesi gerekmektedir. (Imperva veya Karmasis)
- Disk Witness veya File Shared Witness yapısının sıfırdan bir sunucu kurulumu varsa eklenmesi gerekmektedir.
- NetApp veya Veritas gibi tool’ların eklenmesi gerekmektedir.
Bu makalede sıfırdan bir kurulum işlemi için hangi durumda hangi işlemlerin yapılması gerektiğini detaylı bir şekilde görmüş olduk. Başka makalede görüşmek dileğiyle..
“Öyle ise emrolunduğun gibi dosdoğru ol.” Hud-112