Simptomai
Bandant prisijungti prie duomenų bazės naudojant Microsoft ADO.NET 2.0 SqlConnection objekto ryšio klaida gali būti pateikti, nors iš tikrųjų yra duomenų bazės serveris. Ši problema yra labiausiai pastebimas esant šioms sąlygoms:
-
Duomenų bazės serveris buvo neprieinamas ne mažiau kaip minutę.
-
Kliento programa bandė prisijungti prie duomenų bazės serveris tuo metu.
Priežastis
Ši problema kyla dėl problemą, kuri kyla, kai ankstesnių bandymų prisijungti prie serverio, kuriame veikia Microsoft SQL Server. SqlClient ryšių telkinio gali viduje throttle skaičių naujų bandymų prisijungti prie serverio. Šis procesas yra skirtas atsiranda per trumpą laiką. Tuo metu ryšių telkinio automatiškai praneša apie paskutinę klaidą, kad vietoj to, kad bandymas prisijungti prie serverio. Po to, kai baigėsi laikotarpis, kitą ryšio užklausą iš kliento programos pasiekia teisinga prisijungti prie serverio, kuriame veikia SQL serveris. Pastaba. Kartais gali tampa labai didelės laiko tarpą. Ši problema priklauso nuo to, kiek laiko duomenų bazės serveris nepasiekiamas.
Sprendimas
Norėdami išspręsti šią problemą, atsisiųskite atitinkamą failą jūsų kompiuteryje:
X86 kompiuteriai
Šį failą galima atsisiųsti iš Microsoft Download Center:http://Download.Microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-x86.exe
X64 kompiuteriai
Šį failą galima atsisiųsti iš Microsoft Download Center:http://Download.Microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-x64.exe
"Itanium" pagrindo kompiuteriui
Šį failą galima atsisiųsti iš Microsoft Download Center: http://Download.Microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe Jei norite gauti daugiau informacijos apie tai, kaip atsisiųsti "Microsoft" palaikymo failus, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
119591 kaip gauti "Microsoft" palaikymo failus iš interneto tarnybų„Microsoft“ patikrino, ar šiame faile nėra virusų. „Microsoft“ naudojo naujausią virusų aptikimo programinę įrangą, kuri buvo pasiekiama failo paskelbimo dieną. Failas laikomas padidintos saugos serveriuose, siekiant užkirsti kelią neleistinam failo modifikavimui.
Sprendimas
Norėdami išspręsti šią problemą, naudokite ClearPool arba ClearAllPools metodus SqlConnection objekto iš naujo nustatyti ryšį telkinys.
Būsena
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.
Daugiau informacijos
Kai pritaikote šias karštąsias pataisas, šiek tiek uždelsiamas vis tiek gali atsirasti prieš kliento programa galite sėkmingai prisijungti prie duomenų bazės serveris, kai duomenų bazės serveris ištaisomos apie nesklandumą. Paprastai šis sulaikymas turėtų trukti ne daugiau kaip 60 sekundžių, neatsižvelgiant į tai, kiek laiko SQL serveris anksčiau buvo nepasiekiamos. Jei norite gauti daugiau informacijos, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
824684 standartinę terminologiją, vartojamą Microsoft programinės įrangos naujinimams apibūdinti, aprašasDaugiau informacijos apie SqlConnection klasę, apsilankykite šioje "Microsoft" programų kūrėjų tinklo (MSDN) žiniatinklio svetainėje:
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.80).aspxŠios karštosios pataisos yra įtrauktas į patį karštųjų pataisų paketą kaip karštąsias pataisas šiame "Microsoft" žinių bazės straipsnyje:
912151 FIX: skirtasis ryšio laikas gali baigtis prieš pirmą kartą bando prisijungti prie serverio permetimo partnerių, kai bandote prisijungti prie duomenų bazės veidrodinis SQL Server 2005 naudojant ADO.NET 2.0 programa
912731 FIX: kai an ADO.NET prijungtą programa naudoja System.Data.SqlClient vardų, gali kilti didelis CPU naudojimas ir gali nustoti reaguoti
912732 FIX: klaida gali atsirasti, kai paleidžiate naują operaciją ADO.NET 2.0 ryšį atvira SQL Server 2005 duomenų bazės
913177 FIX: gaunate klaidos pranešimą, kai ADO.NET prijungtą programa naudoja SqlBulkCopy klasės
913764 FIX: klaidos pranešimas, kai bandote Sąjungos visus užklausą arba paskambinti DeriveParameters būdas: "vidaus ryšio klaida"
913765 FIX: An SqlException išimtis gali atsirasti, kai skambinate vieną iš būdų vykdymo egzempliorių SqlCommand SqlCommand klasės ADO.NET 2.0 programa
913766 FIX: A datos ir laiko stulpelį, kuriame nėra jokių duomenų netinkamai rodomi DateTime.MinValue lauką kai kliento kompiuteryje yra panaikinti išdėstymo eilutėmis .NET Framework 2.0 duomenų rinkinio objektas