Simptomi
Mēģinot izveidot savienojumu ar datu bāzi, izmantojot objekta SqlConnection Microsoft ADO.NET 2.0, savienojuma kļūmes var ziņot pat tad, ja faktiski ir datu bāzes serveris. Šī problēma ir visvairāk pamanīt, ja ir spēkā šādi nosacījumi:
-
Datu bāzes serveris ir pieejama vismaz vienu minūti.
-
Klienta lietojumprogramma mēģinājumus izveidot savienojumu ar datu bāzes serveri šajā laikā.
Cēlonis
Šī problēma rodas problēma, kas rodas, ja neizdodas iepriekšējo mēģinājumi izveidot savienojumu ar serveri, kurā darbojas sistēma Microsoft SQL Server. SqlClient savienojuma kopas var iekšēji droseli skaitu jaunu mēģinājumi izveidot savienojumu ar serveri. Šis process ir paredzēts pastāv īsā laika posmā. Šajā brīdī savienojuma pūls automātiski ziņo par pēdējo, tā vietā, lai atkārtoti izveidot savienojumu ar serveri, radās kļūda. Pēc tam, kad ir beidzies termiņš, nākamajā savienojuma pieprasījumu no klienta lietojumprogrammas sasniedz spēkā savienojumu ar serveri, kurā darbojas SQL serveris. Piezīme. Dažkārt laiku kļūst apjomīgas. Šī problēma ir atkarīgs, cik ilgi datu bāzes serveris nav pieejams.
Risinājums
Lai novērstu šo problēmu, lejupielādējiet pareizo failu datorā:
X86 platformas datoram
Šo failu var lejupielādēt no Microsoft Download Center:http://Download.Microsoft.com/Download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-x86.exe
X64 platformas datoram
Šo failu var lejupielādēt no Microsoft Download Center:http://Download.Microsoft.com/Download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-x64.exe
Itanium datoram
Šo failu var lejupielādēt no Microsoft Download Center: http://Download.Microsoft.com/Download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe Lai iegūtu papildinformāciju par Microsoft atbalsta failu lejupielādi, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:
119591 kā iegūt Microsoft atbalsta failus no tiešsaistes pakalpojumiemMicrosoft ir skenējusi šo failu, nav vīrusu. Korporācija Microsoft izmantoja visjaunāko vīrusu noteikšanas programmatūru, kas bija pieejama faila izlikšanas datumā. Fails ir saglabāts serveros ar paaugstinātu drošību; tas palīdz aizsargāt failu no nesankcionētu izmaiņu veikšanas.
Risinājums
Lai novērstu šo problēmu, izmantojiet objekta SqlConnectionClearPool vai ClearAllPools metodes atiestatīt savienojumu pūla.
Statuss
Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".
Papildinformācija
Pēc šī labojumfaila lietošanas nelielu aizkavi joprojām pastāv, pirms klienta lietojumprogramma var veiksmīgi izveidot savienojumu ar datu bāzes serveri, datu bāzes serveris atkopts no pārtraukums. Parasti šī atlikšana nav ilgst vairāk nekā 60 sekundes, neatkarīgi no tā, cik ilgi SQL Server iepriekš ir pieejams. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:
824684 tiek izmantota Microsoft programmatūras atjauninājumu standarta terminoloģijas aprakstsLai iegūtu papildinformāciju par SqlConnection klasi, apmeklējiet šo Microsoft izstrādātāju tīkla (MSDN) vietni:
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.80).aspxŠis labojumfails ir iekļauts pašā labojumfailu pakotni kā labojumfailu šajā Microsoft zināšanu bāzes rakstā:
912151 FIX: savienojums var iestāties taimauts, pirms pirmo mēģināt izveidot savienojumu ar serveri kļūmjpārlēces partneru, mēģinot izveidot savienojumu ar SQL Server 2005 spoguļotos datu bāzē, izmantojot ADO.NET 2.0 lietojumprogramma
912731 FIX: kad ADO.NET pieslēgtu lietojumprogramma izmanto System.Data.SqlClient nosaukumvietas, var rasties liels centrālā Procesora izmantošana un var pārstāt reaģēt
912732 FIX: kļūda var rasties, ja jūs sākat jaunu darbību ADO.NET 2.0 savienojums ar SQL Server 2005 datu bāzē ir
913177 FIX: var tikt parādīts kļūdas ziņojums, ADO.NET pieslēgtu lietojumprogramma izmanto SqlBulkCopy klase
913764 FIX: kļūdas ziņojums, mēģinot visus Savienības vaicājuma izpilde vai zvaniet DeriveParameters metodi: "iekšējais savienojums fatāla kļūda"
913765 FIX: SqlException izņēmumu var rasties, ja kādu no metodēm izpildes aicina SqlCommand klases ADO.NET 2.0 lietojumprogrammas gadījums
913766 FIX: A DateTime kolonnu, kas nav ietverti nekādi dati nepareizi pārstāv DateTime.MinValue lauku, klienta datorā ir deserializēt .NET Framework 2.0 DataSet objekts