İÇİNDEKİLER
- •SQL Server açılmıyor mu?
- •Varsayılan Parametreler
- •Görüntülemek ve Değiştirmek
- •Kullanım Senaryoları
- •Trace flag’leri kalıcı yapmak
- •Tüm sysadmin erişimi kaybedildiğinde
- •Yanlış yapılandırma yüzünden açılmayan instance
- •master veritabanını taşımak
- •Kontrol Listesi
- •Açılmayan bir sunucu karşısında yalnız kalmayın
SQL Server başlarken, master veritabanının nerede olduğunu, error log’un nereye yazılacağını ve hangi trace flag’lerle açılacağını startup parametrelerinden öğrenir. Bu parametreler kurulumda varsayılan değerlerle yazılır ve çoğu zaman kimse onlara bakmaz; ta ki master veritabanını taşımak, tüm sysadmin hesaplarına erişimi kaybetmiş bir sunucuya girmek ya da yanlış bir yapılandırma yüzünden açılmayan bir instance’ı ayağa kaldırmak gerekene kadar.
Bu rehberde startup parametrelerinin ne olduğunu, nasıl görüntülenip değiştirildiğini ve kritik durumlarda nasıl kullanıldığını anlatıyoruz.
SQL Server açılmıyor mu?
Aryasoft'un acil destek ekibi açılmayan instance'ları, erişimi kaybedilmiş sunucuları ve başlangıç hatalarını güvenle çözer.
Varsayılan Parametreler
Her instance üç zorunlu parametreyle başlar:
| Parametre | Anlamı |
|---|---|
| -d | master veritabanının veri dosyasının (master.mdf) tam yolu |
| -l | master veritabanının log dosyasının (mastlog.ldf) tam yolu |
| -e | Error log dosyasının tam yolu |
Bunların yanında sık kullanılan isteğe bağlı parametreler şunlardır:
| Parametre | Anlamı |
|---|---|
| -T#### | Instance’ı belirtilen trace flag açık olarak başlatır (örneğin -T3226) |
| -m | Tek kullanıcı modu; -m”SQLCMD” yalnızca belirtilen uygulamanın bağlanmasına izin verir |
| -f | Minimum yapılandırmayla başlatır (tek kullanıcı modunu da içerir) |
| -c | Servis yerine komut satırından başlatıldığında daha hızlı açılış |
| -x | Bazı izleme özelliklerini (CPU zamanı ve cache istatistikleri) kapatır |
Görüntülemek ve Değiştirmek
Mevcut parametreleri T-SQL ile görebilirsiniz:
SELECT value_name, value_data
FROM sys.dm_server_registry
WHERE value_name LIKE N'SQLArg%';
Değiştirmek için SQL Server Configuration Manager’da SQL Server Services altında ilgili SQL Server servisine sağ tıklayıp Properties‘i açın:

Startup Parameters sekmesinde yeni parametreyi yazıp Add ile ekleyin ya da mevcut bir parametreyi seçip kaldırın:

Değişiklik, servis yeniden başlatıldığında geçerli olur. Failover cluster ya da Always On ortamında parametreyi her düğümde ayrı ayrı ayarlayın.
Uyarı
-d, -l ve -e parametrelerindeki bir yazım hatası, SQL Server’ın hiç açılmamasına yol açar. Değişiklikten önce mevcut değerleri bir yere kaydedin ve yolları kopyalayıp yapıştırarak yazın. Servis açılmazsa Windows Application log’u ve belirtilen error log dosyası nedenini gösterir.
Kullanım Senaryoları
Trace flag’leri kalıcı yapmak
DBCC TRACEON (3226, -1) ile açılan bir trace flag, servis yeniden başladığında kaybolur. Kalıcı olması gereken flag’ler -T ile startup parametresi olarak eklenir. Hangi trace flag’lerin gerçekten gerektiğini trace flag rehberimizde anlatıyoruz.
Tüm sysadmin erişimi kaybedildiğinde
Sysadmin olan tüm hesaplar silinmiş, kilitlenmiş ya da parolaları unutulmuşsa, sunucunun yerel Windows yöneticisi tek kullanıcı modunda bağlanıp kendine yeniden yetki verebilir:
# Servisi durdurup yalnızca sqlcmd'nin bağlanabileceği tek kullanıcı modunda başlatın
net stop MSSQLSERVER
net start MSSQLSERVER /m"SQLCMD"
# Yerel yönetici olarak bağlanıp bir AD grubunu sysadmin yapın
sqlcmd -S . -E -Q "CREATE LOGIN [ALANADI\DBA-Ekibi] FROM WINDOWS; ALTER SERVER ROLE sysadmin ADD MEMBER [ALANADI\DBA-Ekibi];"
# Normal modda yeniden başlatın
net stop MSSQLSERVER
net start MSSQLSERVER
Not
Tek kullanıcı modunda yalnızca bir bağlantı kabul edilir. Parametresiz -m kullanırsanız, uygulamalar, SQL Server Agent ya da SSMS’in Object Explorer’ı bu tek bağlantıyı sizden önce alabilir. -m”SQLCMD” ile yalnızca sqlcmd’nin bağlanmasına izin vermek bu yarışı önler. Adlandırılmış instance’larda servis adı MSSQL$InstanceAdi biçimindedir.
Yanlış yapılandırma yüzünden açılmayan instance
Örneğin max server memory çok düşük bir değere ayarlandıysa ve instance bu yüzden düzgün çalışmıyorsa, -f ile minimum yapılandırmada başlatıp ayarı düzeltebilirsiniz. -f da tek kullanıcı modunu içerir; düzeltmeden sonra parametreyi kaldırıp normal başlatın.
master veritabanını taşımak
master dosyalarını başka bir diske taşımak için servis durdurulur, dosyalar kopyalanır, -d ve -l parametreleri yeni yollara göre güncellenir ve servis başlatılır. Diğer sistem veritabanları (model, msdb, tempdb) ise ALTER DATABASE ... MODIFY FILE ile taşınır. Sistem veritabanlarının rolleri için sistem veritabanları rehberimize bakın.
Kontrol Listesi
- Mevcut startup parametreleri belgelenmiş.
- Kalıcı trace flag’ler -T ile tanımlı ve nedenleri belgelenmiş.
- Cluster ve Always On düğümlerinde parametreler tutarlı.
- Tek kullanıcı modunda bağlanma prosedürü runbook’ta hazır.
- Sysadmin erişimi kişilere değil, bir AD grubuna verilmiş.
İlgili Yazılar
SQL Server Acil Destek
Açılmayan bir sunucu karşısında yalnız kalmayın
Aryasoft’un kıdemli DBA ekibi başlangıç hatalarını, kaybedilmiş erişimi ve bozuk yapılandırmaları kontrollü adımlarla çözer; sunucuyu veri kaybı riski olmadan yeniden ayağa kaldırır.