Symptomer
Når du prøver å koble til en database ved hjelp av SqlConnection-objektet i Microsoft ADO.NET 2.0, kan det bli rapportert en tilkoblingsfeil selv om databaseserveren faktisk er tilgjengelig. Dette problemet er mest merkbart når følgende forhold er oppfylt:
- Databaseserveren har vært utilgjengelig i minst ett minutt.
- Klientprogrammet har prøvd å koble seg til databaseserveren i denne perioden.
Årsak
Dette problemet oppstår på grunn av virkemåte som oppstår når tidligere forsøk på tilkobling til serveren som kjører Microsoft SQL Server, mislykkes. SqlClient-tilkoblingsutvalget kan internt kvele antall nye tilkoblingsforsøk til serveren. Denne prosessen er ment å skje i kort tid. I dette tidsrommet rapporterer tilkoblingsutvalget automatisk den siste feilen som oppstod, i stedet for å gjøre et tilkoblingsforsøk til serveren. Når tidsperioden er utløpt, oppnår neste tilkoblingsforespørsel fra klientprogrammet en sann tilkobling til serveren som kjører SQL Server.
Obs! Noen ganger kan tidsperioden bli veldig stor. Dette problemet er avhengig av hvor lenge databaseserveren er utilgjengelig.
Oppløsning
Du kan løse dette problemet ved å laste ned den aktuelle filen for datamaskinen din:
For en x86-basert datamaskin
Filen nedenfor er tilgjengelig for nedlasting fra Microsoft Download Center:
http://download.microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-X86.exe
For en x64-basert datamaskin
Filen nedenfor er tilgjengelig for nedlasting fra Microsoft Download Center:
http://download.microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-X64.exe
For en Itanium-basert datamaskin
Filen nedenfor er tilgjengelig for nedlasting fra Microsoft Download Center:
http://download.microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe Hvis du vil ha mer informasjon om hvordan du laster ned Microsoft-kundestøttefiler, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
119591 Slik får du tak i Microsoft-kundestøttefiler fra onlinetjenester
Microsoft skannet denne filen for virus. Microsoft brukte den nyeste programvaren for virusregistrering som var tilgjengelig på datoen da filen ble lagt inn. Filen lagres på sikkerhetsforbedrede servere som bidrar til å forhindre uautoriserte endringer i filen.
Midlertidig løsning
Du kan omgå dette problemet ved å bruke metodene ClearPool eller ClearAllPools for SqlConnection-objektet til å tilbakestille tilkoblingsutvalget.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».
Mer informasjon
Når du har installert denne hurtigreparasjonen, kan det fortsatt oppstå en liten forsinkelse før klientprogrammet kan koble til databaseserveren når databaseserveren gjenopprettes etter et avbrudd. Vanligvis bør ikke denne forsinkelsen vare i mer enn 60 sekunder, uavhengig av hvor lenge SQL Server tidligere har vært utilgjengelig.
Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:
824684 Beskrivelse av standardterminologien som brukes til å beskrive Microsoft-programvareoppdateringer
Hvis du vil ha mer informasjon om SqlConnection-klassen, kan du gå til følgende webområde for Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.80).aspx Denne hurtigreparasjonen er inkludert i samme hurtigreparasjonspakke som hurtigreparasjonen i følgende Microsoft Knowledge Base-artikkel:
912151 LØSNING: Tilkoblingen kan bli tidsavbrutt før første forsøk på å koble til failover-partnerserveren når du prøver å koble til en SQL Server 2005-speilet database ved hjelp av et ADO.NET 2.0-basert program
912731 LØSNING: Når en ADO. NET-tilkoblet program bruker navneområdet System.Data.SqlClient, kan programmet oppleve høy CPU-bruk og kan slutte å svare
912732 LØSNING: Det kan oppstå feil når du starter en ny transaksjon i ADO.NET 2.0 på en tilkobling som er åpen til en SQL Server 2005-database
913177 LØSNING: Du kan få en feilmelding når en ADO. NET-tilkoblet program bruker SqlBulkCopy-klassen
913764 LØSNING: Feilmelding når du prøver å kjøre en UNION ALL-spørring eller å kalle opp DeriveParameters-metoden: «Intern tilkobling fatal feil»
913765 LØSNING: Det kan oppstå et SqlException-unntak når du kaller én av kjøremetodene på forekomsten av SqlCommand-klassen i et ADO.NET 2.0-program
913766 LØSNING: En DateTime-kolonne som ikke inneholder data, representeres feil av et DateTime.MinValue-felt når et .NET Framework 2.0 DataSet-objekt deserialiseres på en klientdatamaskin