FIX: Een mislukte verbinding kan worden gerapporteerd, hoewel de databaseserver daadwerkelijk beschikbaar is wanneer u probeert te verbinden met een database met behulp van het SqlConnection-object in ADO.NET 2.0


Symptomen


Wanneer u verbinding maakt met een database via het SqlConnection -object in Microsoft ADO.NET 2.0, kan een verbindingsfout worden gerapporteerd, zelfs als de databaseserver daadwerkelijk beschikbaar is. Dit probleem is vooral merkbaar wanneer de volgende voorwaarden voldaan wordt:
  • De databaseserver is niet beschikbaar geweest gedurende ten minste een minuut.
  • De clienttoepassing heeft geprobeerd te verbinden met de databaseserver gedurende die tijd.

Oorzaak


Dit probleem treedt op vanwege een probleem dat optreedt wanneer de vorige verbinding met de server waarop Microsoft SQL Server is mislukt. De verbindingsgroep SqlClient kan intern beperken het aantal nieuwe pogingen om verbinding met de server. Dit proces is bedoeld voor korte tijd plaatsvinden. Gedurende deze tijd meldt de verbindingsgroep automatisch de laatste fout die is opgetreden in plaats van een verbinding probeert te maken met de server. Nadat de tijdsperiode is verstreken, worden de volgende aanvraag van de clienttoepassing bereikt waar verbinding met de server waarop SQL Server wordt uitgevoerd. Opmerking De periode kan soms erg groot groter. Dit probleem hangt af hoe lang de databaseserver niet beschikbaar is.

Oplossing


Dit probleem oplossen door het juiste bestand voor uw computer te downloaden:

Voor een computer met x86

Het volgende bestand kan worden gedownload vanaf het Microsoft Download Center:http://download.Microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-X86.exe

Voor een computer met x64

Het volgende bestand kan worden gedownload vanaf het Microsoft Download Center:http://download.Microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-X64.exe

Voor een Itanium computer

Het volgende bestand kan worden gedownload vanaf het Microsoft Download Center: http://download.Microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-ia64.exe Voor meer informatie over het downloaden van Microsoft-ondersteuningsbestanden klikt u op het volgende artikel in de Microsoft Knowledge Base:
119591 Microsoft-ondersteuningsbestanden downloaden via online services
Microsoft heeft dit bestand op virussen gecontroleerd. Microsoft gebruikt de meest actuele software voor virusdetectie die beschikbaar was op de datum waarop het bestand werd gepost. Het bestand is opgeslagen op beveiligde servers die onbevoegde wijzigingen aan het bestand verhinderen.

Workaround


U kunt dit probleem oplossen met de methoden ClearPool en ClearAllPools van het SqlConnection -object opnieuw instellen de verbindingsgroep.

Status


Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer informatie


Nadat u deze hotfix hebt toegepast, nog steeds een kleine vertraging optreden voordat de clienttoepassing verbinding met de databaseserver maken kunt wanneer de databaseserver is hersteld van een stroomstoring. Deze vertraging moet normaal gesproken niet duren langer dan 60 seconden, ongeacht hoe lang de SQL-Server eerder niet beschikbaar is. Voor meer informatie klikt u op het volgende artikel in de Microsoft Knowledge Base:
824684 beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven
Ga naar de volgende website van Microsoft Developer Network (MSDN) voor meer informatie over de klasse SqlConnection :Deze hotfix is opgenomen in hetzelfde hotfixpakket als de hotfix in het volgende artikel in de Microsoft Knowledge Base:
912151 oplossen: de verbinding kan een time-out voordat de eerste poging om verbinding met de failover-server wanneer u verbinding maakt met een gespiegelde SQL Server 2005-database via een ADO.NET 2.0-toepassing
912731 oplossen: aangesloten bij een ADO.NET-toepassing gebruikmaakt van de System.Data.SqlClient-naamruimte, de toepassing treden hoog CPU-gebruik en reageert niet meer
912732 FIX: Er treedt een fout op wanneer u een nieuwe transactie in ADO.NET 2.0 start op een verbinding die is geopend met een SQL Server 2005-database
913177 oplossen: verschijnt een foutbericht wanneer een toepassing ADO.NET-verbinding de klasse SqlBulkCopy gebruikt
913764 FIX: Foutbericht wanneer u probeert een UNION ALL-query uit te voeren of de DeriveParameters ondersteunt methode aan te roepen: 'Interne verbinding fatale fout'
913765 oplossen: SqlException een uitzondering doet zich voor wanneer u een van de methoden Execute voor het exemplaar van de klasse SqlCommand in een toepassing van ADO.NET 2.0 aanroept
913766 oplossen: een datum/tijd-kolom geen gegevens bevat onjuist wordt vertegenwoordigd door een DateTime.MinValue veld wanneer u een .NET Framework 2.0 DataSet-object op een client-computer is gedeserialiseerd