1 Nisan 2014 Salı

A connection was successfully established with the server, but then an error occurred during the login process. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) (Microsoft SQL Server, Error: 64)

HATA:
SSMS'ten bağlanmaya çalıştığımda aldığım hata mesajı:
A connection was successfully established with the server, but then an error occurred during the login process. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) (Microsoft SQL Server, Error: 64)

SQLCMD'den bağlanmaya çalıştığımda aldığım hata mesajı:
HResult 0x40, Level 16, State 1
TCP Provider: The specified network name is no longer available.

Sqlcmd: Error: Microsoft SQL Native Client : Communication link failure.

AÇIKLAMA:
Dün gece bir operatör bana bu hatayı haber verdi. Sorun yaşanan makineye X diyelim. Bu makine ile Y makinesi arasında Transactional Replication kurulu. Hem X'te Y'ye gönderilen bir Publication var, hem de Y'de, X'e gönderilen bir Publication var. Yani çift taraflı replikasyon söz konusu.

Öncelikle şunları kontrol ettim:
- X'ten Y'ye ve tam tersi yönde Ping atılabiliyor mu? Evet!
- X'ten Y'ye ve tam tersi yönde TELNET yapılabiliyor mu? Evet!
- X'e RDP yapmışken Y'ye SSMS ile bağlanabiliyor muyum? Hayır!
- Y'ye RDP yapmışken X'e SSMS ile bağlanabiliyor muyum? Evet!

- X'e RDP yapmışken Y'ye SQLCMD ile bağlanabiliyor muyum? Hayır!
- Y'ye RDP yapmışken X'e SQLCMD ile bağlanabiliyor muyum? Evet!
- X'e RDP yapmışken Y'ye ODBC Administrator'dan bir DSN oluşturup bağlanabiliyor muyum? Hayır!

- Y'ye RDP yapmışken X'e ODBC Administrator'dan bir DSN oluşturup bağlanabiliyor muyum? Evet!
- X'teki Windows Application Event Log'da ve SQL Error Log'da herhangi ilgili bir kayıt var mı? Yok!
- Y'deki Windows Application Event Log'da ve SQL Error Log'da herhangi ilgili bir kayıt var mı? Eğer yanlış kullanıcı bilgileri girersem, var! Eğer doğru kullanıcı bilgileriyle bağlanmaya çalışırsam, yok!
- İki sunucudaki Windows Firewall'ları kontrol ettim, kapalılar.
- Sistem ve Ağ yöneticileriyle konuştuk, bildiğimiz bir değişiklik yok dediler ve onlar da düşündü ve ortaya bir şey çıkmadı.
- X'te de Y'de de antivirüs uygulamaları kurulu, fakat uzun zamandır kuruluydular ve sorun dün akşam 19:00'dan itibaren olmaya başladı ve sistem yöneticilerinin söylediğine göre bu uygulamalarda SQL bağlantısını engelleyebilecek bir ayar da yok.
- Ağdaki diğer sunuculardaki SSMS ve SQLCMD'lerden Y'e bağlanmaya çalışıyorum, sorun yok. 
- Belli ki X'e özel bir durum söz konusu. X sunucusunu yeniden başlattık, fakat sorun çözülmedi.
- Son çare Google'a sordum. Bu sorun, çok genel bir sorun. Yani belli bir sorun değil. Herkes başka bir şey söylemiş ve hiçbiri de benim durumuma uymuyor.



ÇÖZÜM:
Son çare olarak Y sunucusunu yeniden başlatmayı gördük. Böyle garip durumlarda maalesef genelde yeniden başlatmak çözüm oluyor. Bizim durumumuzda da bu bir çözüm oldu. Fakat maalesef sorunun neden çıktığını, neden çözüldüğünü bilmiyor durumdayız. Bunu bu şekilde söylemek ve bu şekilde dokümante etmek canımı sıkıyor, ama olur ya belki bir gün birinin işine yarar...

Ekrem Önsoy

Hiç yorum yok: