Bağlantıları Kaldırma
Bağlantı havuzu oluşturucu, uzun süre boşta kaldıktan sonra veya havuz sunucusu sunucuyla bağlantı koptuğunu algılarsa bağlantıyı havuzdan kaldırır.
Kesik bir bağlantının yalnızca sunucuyla iletişim kurmaya çalıştıktan sonra tespit edilebileceğini unutmayın. Artık sunucuya bağlı olmayan bir bağlantı bulunursa, geçersiz olarak işaretlenir.
Geçersiz bağlantılar, bağlantı havuzundan yalnızca kapatıldıklarında veya geri alındıklarında kaldırılır.
Kaybolan bir sunucuya bağlantı varsa, bağlantı havuzu kesilen bağlantıyı algılamamış ve geçersiz olarak işaretlese bile bu bağlantı havuzdan alınabilir.
Bağlantının hala geçerli olup olmadığını denetleme yükü, sunucuya başka bir gidiş dönüş gerçekleştirerek bir havuzcuya sahip olmanın faydalarını ortadan kaldıracağı için böyle bir durum söz konusudur.
Bu durumda, bağlantıyı kullanmaya yönelik ilk girişim bağlantının kesildiğini algılar ve bir istisna atılır.
Temelde gördüğünüz şey, son cümledeki istisna.
Bağlantı havuzundan bir bağlantı alınır, uygulama fiziksel bağlantının gittiğini bilmez, fiziksel bağlantının hala orada olduğu varsayımı altında bunu kullanma girişimi yapılır.
Ve sen de istisnan var.
Bunun birkaç yaygın nedeni vardır.
- Sunucu yeniden başlatıldı, bu mevcut bağlantıları kapatır.
Bu durumda, genellikle şu adreste bulunan SQL Server günlüğüne bakın: C: \ Program Files \ Microsoft SQL Server \\ MSSQL \ LOG
Başlangıç için zaman damgası çok yeni ise, hatanın nedeni bu olduğundan şüphelenebiliriz. Bu zaman damgasını istisna zamanı ile ilişkilendirmeye çalışın.
2009-04-16 11: 32: 15.62 Sunucu 'C: \ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ LOG \ ERRORLOG' dosyasında SQL Server mesajlarını günlüğe kaydetme.
- Birisi veya başka bir şey kullanılan SPID'yi öldürdü.
Yine, SQL Server günlüğüne bir göz atın. Bir öldürme bulursanız, bu zaman damgasını istisna zamanıyla ilişkilendirmeye çalışın.
2009-04-16 11: 34: 09.57 spidXX İşlem Kimliği XX, ana bilgisayar işlem kimliği XXXX olan ana bilgisayar adı xxxxx tarafından öldürüldü.
- Yine bir yük devretme (örneğin bir ayna kurulumunda), SQL Server günlüğüne bir göz atın.
Bir yük devretme varsa, bu zaman damgasını istisna zamanıyla ilişkilendirmeye çalışın.
2009-04-16 11: 35: 12.93 spidXX Yansıtılmış “” veritabanı, Yük Devretme nedeniyle rolleri “PRINCIPAL” dan “MIRROR” a değiştiriyor.