Çalışan bir SQL Server’ın yapılandırması zamanla kayar: biri bir sorunu çözmek için bir ayarı değiştirir ve geri almaz, yeni bir veritabanı varsayılan ayarlarla eklenir, sunucu yenilenirken eski ayarlar taşınmaz. Bu ayarların çoğu tek başına büyük bir kriz yaratmaz; ama birlikte sunucunun her gün olması gerekenden daha yavaş ve daha kırılgan çalışmasına neden olur.
Bu rehber, mevcut bir SQL Server’ın yapılandırmasını gözden geçirmek için bir kontrol listesidir: Windows düzeyi (güç planı ve gereksiz servisler dahil), instance ayarları ve veritabanı ayarları. Yeni bir sunucu kuruyorsanız kurulum kontrol listemizle başlayın.
Sunucunuzun ayarları en son ne zaman gözden geçirildi?
Aryasoft, SQL Server yapılandırmanızı Windows'tan veritabanı ayarlarına kadar inceler; riskli ve eksik ayarları önceliklendirerek düzeltir.
1. Windows Düzeyi
Güç planı
Windows varsayılan olarak Balanced güç planını kullanır. Bu plan enerji tasarrufu için işlemci frekansını düşürür ve yük geldiğinde yükseltir; veritabanı sunucusunda bu, sorgu sürelerinin tutarsız ve gereğinden uzun olması demektir. SQL Server sunucularında High Performance planı kullanın.

# Etkin güç planını göster
powercfg /getactivescheme
# High Performance planını etkinleştir
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
İpucu
Windows’ta High Performance seçili olsa bile, BIOS’taki güç yönetimi işlemciyi kısıtlayabilir. BIOS güç ayarını “OS Control” ya da “Maximum Performance” olarak ayarlayın. Sanal makinelerde ayrıca hipervizörün güç politikasını da kontrol edin; sanal makinedeki ayar fiziksel host’un davranışını değiştirmez.
Gereksiz instance ve servisler
Kullanılmayan her SQL Server servisi (Reporting Services, Analysis Services, Integration Services, Full-Text, Browser ya da eski bir test instance’ı) bellek ve CPU tüketir, yamalanması gerekir ve saldırı yüzeyini büyütür. Sunucudaki servisleri listeleyin ve kullanılmayanları Disabled yapın:
Get-Service | Where-Object { $_.DisplayName -like 'SQL Server*' } |
Select-Object DisplayName, Name, Status, StartType
Adlandırılmış instance kullanmıyorsanız ya da tüm instance’lara sabit port atadıysanız SQL Server Browser’a da ihtiyaç yoktur.
Diğer Windows ayarları
- Page file sistem sürücüsünde ve döküm için yeterli boyutta. Bkz. page file rehberimiz.
- Antivirüs istisnaları SQL Server dosyaları ve süreçleri için tanımlı.
- Windows güncellemeleri kontrollü; otomatik yeniden başlatma kapalı.
2. Instance Ayarları
| Ayar | Varsayılan | Önerilen |
|---|---|---|
| max server memory (MB) | 2.147.483.647 | İşletim sistemine pay bırakan sınır |
| max degree of parallelism | 0 | NUMA yapısına göre, genellikle 8 veya altı |
| cost threshold for parallelism | 5 | 30-50 ile başlayıp ölçerek ayarlamak |
| optimize for ad hoc workloads | 0 | 1 |
| backup compression default | 0 | 1 |
| backup checksum default | 0 | 1 |
| remote admin connections | 0 | 1 |
| priority boost | 0 | 0 |
| lightweight pooling | 0 | 0 |
| xp_cmdshell | 0 | 0 |
Mevcut değerleri tek sorguyla görün:
SELECT name, value_in_use, is_dynamic
FROM sys.configurations
WHERE name IN (N'max server memory (MB)', N'max degree of parallelism',
N'cost threshold for parallelism', N'optimize for ad hoc workloads',
N'backup compression default', N'backup checksum default',
N'remote admin connections', N'priority boost',
N'lightweight pooling', N'xp_cmdshell', N'clr enabled')
ORDER BY name;
Her ayarın ayrıntısı için: max server memory, MAXDOP ve cost threshold, optimize for ad hoc workloads, priority boost. Ayrıca Instant File Initialization ve Lock Pages in Memory durumunu da kontrol edin.
3. Veritabanı Ayarları
Instance doğru ayarlı olsa bile tek tek veritabanlarında riskli ayarlar bulunabilir. Aşağıdaki sorgu, en sık karşılaştığımız sorunları listeler:
SELECT name,
is_auto_close_on,
is_auto_shrink_on,
page_verify_option_desc,
is_auto_create_stats_on,
is_auto_update_stats_on,
recovery_model_desc,
compatibility_level,
SUSER_SNAME(owner_sid) AS owner_name,
is_read_committed_snapshot_on
FROM sys.databases
WHERE database_id > 4
AND (is_auto_close_on = 1
OR is_auto_shrink_on = 1
OR page_verify_option_desc <> N'CHECKSUM'
OR is_auto_create_stats_on = 0
OR is_auto_update_stats_on = 0
OR SUSER_SNAME(owner_sid) IS NULL);
- AUTO_CLOSE: Kapalı olmalı. Açıkken veritabanı son bağlantı kapandığında kapanır, ilk bağlantıda yeniden açılır; bu da gecikme ve cache kaybı demektir.
- AUTO_SHRINK: Kapalı olmalı (aşağıdaki uyarıya bakın).
- PAGE_VERIFY: CHECKSUM olmalı. Eski sürümlerden taşınmış veritabanlarında TORN_PAGE_DETECTION ya da NONE kalmış olabilir; bu durumda disk bozulmaları geç fark edilir.
- İstatistikler: AUTO_CREATE ve AUTO_UPDATE açık olmalı.
- Recovery model: Yedek planıyla uyumlu olmalı; FULL olup log yedeği alınmayan veritabanları log’un dolmasına yol açar.
- Sahip: Ayrılmış bir personelin hesabı olmamalı; sahibi olmayan veritabanları bazı işlemlerde hata verir.
- Compatibility level: Bilinçli seçilmiş olmalı. Bkz. compatibility level rehberimiz.
Uyarı
AUTO_SHRINK açık olan bir veritabanı, boş alan oluştuğunda dosyayı küçültür; ardından veri büyüdükçe dosya yeniden büyür. Bu döngü ciddi index parçalanmasına, gereksiz I/O’ya ve autogrowth beklemelerine yol açar. AUTO_SHRINK’i kapatın ve dosya boyutlarını planlı şekilde yönetin. Bkz. shrink rehberimiz.
-- Düzeltme örnekleri
ALTER DATABASE SatisDB SET AUTO_CLOSE OFF;
ALTER DATABASE SatisDB SET AUTO_SHRINK OFF;
ALTER DATABASE SatisDB SET PAGE_VERIFY CHECKSUM;
ALTER AUTHORIZATION ON DATABASE::SatisDB TO sa;
PAGE_VERIFY CHECKSUM’a geçildiğinde mevcut sayfalar hemen korunmaz; checksum, her sayfa bir sonraki yazılışında eklenir.
4. Dosyalar ve TempDB
- Veri ve log dosyalarında yüzde ile değil, sabit MB ile büyüme. Bkz. autogrowth rehberimiz.
- TempDB’de işlemci sayısına göre (8’e kadar) eşit boyutlu veri dosyaları. Bkz. TempDB rehberimiz.
- Veri, log ve TempDB ayrı volume’larda.
Yapılandırma Kontrol Listesi
- Windows’ta ve BIOS’ta yüksek performans güç ayarı.
- Kullanılmayan SQL Server servisleri ve instance’ları kapalı.
- Instance ayarları tablosundaki değerler bilinçli seçilmiş.
- Hiçbir veritabanında AUTO_CLOSE ve AUTO_SHRINK açık değil; PAGE_VERIFY CHECKSUM.
- Recovery model’ler yedek planıyla uyumlu; veritabanı sahipleri doğru.
- Dosya büyüme ayarları ve TempDB yapılandırması kontrol edildi.
- Varsayılandan farklı her ayarın nedeni belgelenmiş.
İlgili Yazılar
SQL Server Danışmanlığı
Yapılandırmanızı varsayımlarla değil, kontrolle yönetin
Aryasoft’un kıdemli DBA ekibi Windows, instance ve veritabanı ayarlarınızı tek tek inceler; riskli ve eksik ayarları önceliklendirerek kesintisiz şekilde düzeltir ve tüm kararları belgeler.