Sümptomid
Andmebaasiga ühenduse loomiseks Microsoft ADO.NET 2.0 SqlConnection objekti abil katsel ühenduse tõrge teatas, kuigi andmebaasi server on tegelikult olemas. See probleem on kõige märgatavam, kui täidetud on järgmised tingimused:
-
Andmebaasi server ei ole saadaval vähemalt ühe minuti jooksul.
-
Kliendi rakendus on proovinud selle aja jooksul andmebaasi serveriga ühendust.
Põhjus
See probleem tekib käitumist, mis ilmneb siis, kui eelmine Ühenduskatsete serverisse, kus töötab Microsoft SQL Server ei õnnestu. SqlClient connection pool võib sisemiselt throttle server uue Ühenduskatsete arvu. See protsess on ette nähtud tekkida lühikese aja jooksul. Selle aja jooksul connection pool teatab automaatselt viimase selle asemel, et proovida ühendus serveriga ilmnenud tõrke. Pärast selle aja möödumist saavutab järgmise ühenduse loomise taotluse klient rakendusest täidetud ühendus serveriga, kus töötab SQL Server. Märkus. Mõnikord võib aja jooksul muutuvad väga suureks. See probleem oleneb kaua andmebaasi server pole saadaval.
Lahendus
Selle probleemi lahendamiseks laadige alla oma arvuti jaoks sobiv fail.
X86-põhine arvuti jaoks
On saadaval allalaadimiseks Microsoft Download Center järgmine fail:http://Download.microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-x86.exe
X64-põhise arvuti
On saadaval allalaadimiseks Microsoft Download Center järgmine fail:http://Download.microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-x64.exe
Itaniumi-põhise arvuti
On saadaval allalaadimiseks Microsoft Download Center järgmine fail: http://Download.microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe Microsofti tugifailide allalaadimise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
119591 kuidas Microsofti tugifailide hankimine võrguteenuste kauduMicrosoft skannis seda faili viiruste leidmiseks. Microsoft kasutas uusimat viirusetõrjetarkvara, mis oli faili postitamise päeval saadaval. Faili talletatakse täiustatud turvalisusega serverites, mis aitab takistada faili volitamata muutmist.
Lahendus
Selle probleemi lahendamiseks kasutage SqlConnection objekti ClearPool või ClearAllPools meetodeid connection pool lähtestamiseks.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.
Lisateave
Pärast selle kiirparanduse rakendamist väike viivitus võib veel tekkida klientrakendus edukalt ühendust serveri andmebaasi kui andmebaasi server taastab seisak. Tavaliselt ei tohiks see viivitus kesta enam kui 60 sekundit, sõltumata sellest, kui kaua SQL Server on varem olnud pole saadaval. Kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
824684 Microsofti tarkvaravärskenduste iseloomustamiseks kasutatavate standardterminite kirjeldusSqlConnection klassi kohta lisateabe saamiseks külastage järgmist Microsoft Developer Networki (MSDN) veebisaiti:
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.80).aspxSee kiirparandus on kaasatud sama kiirparanduspaketi paik järgmises Microsofti teabebaasi (Knowledge Base) artiklis:
912151 FIX: ühendus võib saabuda enne kõigepealt proovida Tõrkesiirde partneri serveriga ühendust, kui proovite luua ühendust SQL Server 2005 peegeldatud andmebaasi ADO.NET 2.0-põhise rakenduse abil
912731 FIX: kui an ADO.NET-i ühendatud rakendus kasutab System.Data.SqlClient nimeruumi, võib tekkida suur CPU kasutamist ja lõpetada reageerimise
912732 FIX: tõrge võib ilmneda juhul, kui käivitate uue kande ADO.NET 2.0 ühenduse, mis on avatud andmebaasi SQL Server 2005
913177 FIX: tõrketeade võidakse kuvada, kui ADO.NET-i ühendatud rakendus kasutab SqlBulkCopy klassi
913764 FIX: tõrketeade, kui kõik Liidu päringut või DeriveParameters meetod: "sisemine ühendus parandamatu tõrge"
913765 FIX: An SqlException erand võib ilmneda juhul, kui helistate meetodite Execute SqlCommand klassi ADO.NET 2.0 rakenduse eksemplar
913766 FIX: A kuupäev ja kellaaeg veerus, mis ei sisalda mingisugust valesti esindajad DateTime.MinValue välja, kui .NET Framework 2.0 DataSet objekti sarjadesse jaotamist tühistada kliendi arvutis