SQL Server Uzak Bağlantı Başarısız: TCP/IP Protokolü, SQL Browser ve Güvenlik Duvarı Yapılandırması
Configuration Manager'da TCP/IP protokolünün kapalı olması, dinamik port atanmış named instance'larda SQL Browser servisinin durması ve firewall engellerinin çözümü.
Operasyonel Doğrulama & Güvenilirlik Standardı
Hata mesajı semptomdur, kök neden değildir. Sunucuyu yeniden başlatmadan veya rastgele ayar değiştirmeden önce aşağıdaki "Nedeni ayırt eden tek sorgu"yu çalıştırarak gerçek senaryoyu netleştirin.
▸Belirti
İstemci uzak SQL Server sunucusuna bağlanırken işlem zaman aşımına uğrar:
A network-related or instance-specific error occurred while establishing a connection to SQL Server.
The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.
(provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [10060 / 10054])▸Sahada Ne Görürsün?
Sunucuda SQL Server açık ve yerel olarak bağlanılabilir (localhost). Ancak uzak istemciler ve Kubernetes pod'ları bağlanamaz.
▸Kök Neden Matrisi
| Olasılık | Kök Neden | Açıklama |
|---|---|---|
| %50 | TCP/IP Protokolünün Kapalı Olması | SQL Server kurulumunda varsayılan olarak TCP/IP devre dışıdır; yalnızca Shared Memory açıktır. |
| %30 | Firewall Port 1433 / Dinamik Port Engeli | Windows Firewall veya bulut Security Group 1433 portunu bloklamaktadır. |
| %20 | Named Instance & SQL Server Browser Kapalı | SERVER\INSTANCE şeklindeki isimlendirilmiş örneklerde portu bildiren SQL Server Browser (UDP 1434) servisi durmuştur. |
▸ACİL RUNBOOK (0-5dk)
# 1. Uzak sunucudan port 1433 erişimini test et
Test-NetConnection -ComputerName 10.0.0.5 -Port 1433
# 2. SQL Server sunucusunda TCP/IP protokolünü etkinleştir
# SQL Server Configuration Manager -> SQL Server Network Configuration -> Protocols for MSSQLSERVER -> TCP/IP: Enable
# 3. Named Instance için SQL Browser servisini başlat
Start-Service "SQLBrowser"
Set-Service "SQLBrowser" -StartupType Automatic
# 4. Windows Firewall üzerinde port 1433 kuralını aç
New-NetFirewallRule -DisplayName "SQL Server TCP 1433" -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "SQL Browser UDP 1434" -Direction Inbound -LocalPort 1434 -Protocol UDP -Action Allow▸KALICI BLUEPRINT
- 1Statik Port Standardı: İsimlendirilmiş örnekler dahil tüm SQL Server kurulumlarında dinamik portlar kapatılmalı ve statik
1433atanmalıdır. - 2AlwaysOn Availability Group Listener: Uygulamalar doğrudan düğüm isimlerine değil, statik IP'ye sahip AG Listener adresine bağlanmalıdır.
▸Doğrulama
sqlcmd -S tcp:10.0.0.5,1433 -U sa -Q "SELECT @@VERSION;"Diğer Veritabanı Hata Teşhisleri
Kriz anında başvurabileceğiniz diğer doğrulanmış hata rehberleri.
SQL Server Error 18456: State Kodlarına Göre Gerçek Neden
18456 hatasında State numarası gerçek nedeni söyler. State 5, 8, 11, 18, 38 ve 40 için ayrı çözümler, ERRORLOG okuma komutları.
SQL Server Error 1205 Deadlock: Grafiği Bulma ve Önleme
SQL Server 1205 hatasında deadlock grafiğini system_health oturumundan çıkarma, kurban seçimini anlama ve kalıcı önleme yöntemleri.
SQL Server Pool Timeout: Bağlantı Havuzu Tükenmesi Çözümü
"Timeout expired prior to obtaining a connection from the pool" hatasının komut zaman aşımından farkı, sızıntı tespiti ve .NET tarafında kalıcı düzeltme.