Simptome
Când încercați să vă conectați la o bază de date utilizând obiectul SqlConnection în Microsoft ADO.NET 2.0, o eroare de conexiune pot fi raportate chiar dacă serverul bazei de date este de fapt disponibile. Această problemă este cea mai evidentă atunci când următoarele condiții sunt adevărate:
-
Server de baze de date a fost indisponibil pentru cel puțin un minut.
-
Aplicația client a încercat să se conecteze la serverul de baze de date în acest timp.
Cauză
Această problemă se produce din cauza comportamentului care apare atunci când nu reușesc încercările anterioare de conectare la serverul care execută Microsoft SQL Server. Rezervorul de conexiune SqlClient intern poate throttle număr nou de încercări de conexiune la server. Acest proces este destinat să apară pentru o perioadă scurtă de timp. În acest timp, rezervorul de conexiune automat raportează eroarea Ultima care a apărut în loc de a face o conexiune de încercare la server. După perioada de timp a expirat, solicitarea de conectare următoare din aplicația client atinge un adevărat conexiunea la serverul care execută SQL Server. Notă Uneori, perioada de timp poate fi foarte mare. Această problemă va depinde de cât de mult serverul bazei de date este indisponibil.
Rezolvare
Pentru a rezolva această problemă, descărcați fișierul potrivit pentru computerul dvs.:
Pentru un computer x86
Fişierul următor este disponibil pentru descărcare de la Microsoft Download Center:http://download.Microsoft.com/Download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-x86.exe
Pentru un computer x64
Fişierul următor este disponibil pentru descărcare de la Microsoft Download Center:http://download.Microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-x64.exe
Pentru un computer bazate pe Itanium
Fişierul următor este disponibil pentru descărcare de la Microsoft Download Center: http://download.Microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-ia64.exe Pentru mai multe informații despre cum se descarcă fișierele de suport Microsoft, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
119591 cum se obțin fișierele de asistență Microsoft de la serviciile onlineMicrosoft a scanat acest fișier pentru viruşi. Microsoft utilizează cele mai actualizate software pentru detectarea virușilor care sunt disponibile la data la care fișierul a fost postat. Fisierul este stocat pe servere securizate care ajută la împiedicarea modificărilor neautorizate a fișierului.
Soluție de evitare
Pentru a rezolva această problemă, utilizați metodele ClearPool sau ClearAllPools a obiectului SqlConnection pentru a reinițializa rezervorul de conexiune.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Mai multe informații
După ce aplicați această remediere rapidă, o întârziere mici poate apărea încă înainte de aplicația client se poate conecta cu succes la serverul de baze de date atunci când serverul de baze de date recuperează dintr-o defecțiune. De obicei, această întârziere nu ar trebui să dureze mai mult de 60 de secunde, indiferent de cât de mult SQL Server anterior s-a indisponibil. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
824684 Descrierea terminologiei standard care este utilizat pentru a descrie actualizările de software MicrosoftPentru mai multe informații despre clasa SqlConnection , vizitați următorul site Web Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.80).aspxAceastă remediere rapidă este inclus în pachetul de remediere rapidă același ca remedierea rapidă din următorul articol din baza de cunoștințe Microsoft:
912151 FIX: conexiunea poate expira înainte de prima încercare de conectare la serverul de parteneri failover atunci când încercați să vă conectați la o bază de date SQL Server 2005 în oglindă utilizând o aplicație ADO.NET 2.0
912731 FIX: conectat la un ADO.NET aplicația utilizează spațiul de nume System.Data.SqlClient, aplicația poate apărea înalt de utilizare CPU și să nu mai răspundă
912732 FIX: poate apărea o eroare atunci când porniți o nouă tranzacţie în ADO.NET 2.0 pe o conexiune care este deschisă o bază de date SQL Server 2005
913177 FIX: este posibil să primiți un mesaj de eroare atunci când o aplicație ADO.NET conectat utilizează clasa SqlBulkCopy
913764 FIX: mesaj de eroare când încercați să executați o interogare de Uniune toate sau pentru a apela metoda DeriveParameters: "conexiune intern fatal error"
913765 FIX: SqlException o excepție se poate produce când apelați una dintre metodele de executare în instanță a clasei SqlCommand într-o aplicaţie ADO.NET 2.0
913766 FIX: DateTime O coloană care conține date incorect este reprezentat de un câmp DateTime.MinValue când un obiect de .NET Framework 2.0 set de date este deserializat pe un computer client