SQL serveri orvuks jäänud ühenduste tõrkeotsing

Kokkuvõte

Kui Microsoft SQL serveri klient katkestab ühenduse SQL serveri serveriga, tuleks ühenduse loomise protsess serveri poolel tühjendada. Kui ühenduste protsessid pole mingil põhjusel lahendatud, muutuvad need "orvuks" või "Ghost" protsessideks. Need protsessid võivad kasutada kuni väärtuslikke ressursse (nt lukkude ja kasutajate ühendusi). Orvuks jäänud protsessid on tavaliselt tingitud kliendi rakenduste ja võrguga seotud probleemide valest sulgemisest ning õiguskaitsevahendid nõuavad tavaliselt tõrkeotsingut klientrakendustes ja häälestada võrgu konfiguratsioone.

Lisateave

Selle probleemi tõrkeotsingul pidage meeles järgmist.

  • SQL serveri rakendus ei ole ja ei tohiks ennetavalt sondi kliendi ühendus selle praeguse oleku määratlemiseks. IPCs (nt nimega torud, IPX/SPX või TCP/IP-pistikupesad) on kliendi ühenduste haldamise eest vastutavad madalamad vaheprotsesside teatised (nt nimed).

  • IPC-il on tavaliselt kliendi ühenduste haldamiseks oma mehhanism. Kui klientarvutid ei reageeri teatud aja jooksul, on tavaliselt Windows NT serveri arvuti tuvastanud selle, saates "Hoia elus" sondid või tühjendada ühendus pärast seda, kui see on konfigureeritud aja jooksul jõudeolekus. Siiski ei saadeta rakendusega "Hoia elus" pakette vaikimisi. Rakendus peab selle funktsiooni oma ühenduste jaoks lubama.

  • Teatud olukordades (nt kliendi üldise kaitse puudumisel) võib klient siiski vastata serveri sondid isegi siis, kui rakendus on juba surnud. Sellisel juhul võib Windows NT serveri arvuti säilitada selle klientrakenduse lõputult, kui klienti ei suleta.

  • Kui Windows NT serveri arvuti ei Sule mingil põhjusel surnud ühendust, eeldab SQL Server õigustatult, et see seos on endiselt aktiivne ja seetõttu ei saa seda enam kustutada.

  • Kui Windows NT serveri arvuti on ühendust katkestanud, kuid kliendi protsess on SQL serveris endiselt olemas, nagu on näidatud sp_who, võib see viidata SQL serveri ühenduste haldusega seotud probleemile. Sellisel juhul peaksite selle probleemi lahendamiseks töötama oma peamise kasutajatoe pakkujaga.

Kui kahtlustate, et teie SQL serveris esineb orvuks jäänud protsesse, saate probleemi tõrkeotsinguks võtta järgmisi toiminguid.

  1. Tuvastage orvuks jäänud protsessid, kasutades sp_who, mis võib teile öelda, millised rakendused on hosti nimede kaudu nende protsessidega seotud.

  2. Kui olete need orvuks saanud protsessid tuvastanud, võite neid ignoreerida, kui nad ei hoia ühtegi lukku ega kasuta mitut ühendust, või tapke need käsu SQL Server KILL abil.

  3. Küsige rakenduste kasutajatelt mis tahes lubamatute toimingute sulgemise protseduurid (nt tööjaamade soe või külm taaskäivitamine ilma rakendusest väljumata). Kontrollige, kas töökoha ajalugu muutub ebastabiilseks (nt üldine kaitse) ja nii edasi. Parandage need valed protseduurid või stabiilsuse probleemid, kui need on olemas.

  4. Kontrollige, kas IPC-seanss on endiselt aktiivne Windows NT Serveri arvutis, kus töötab SQL Server. Olenevalt kasutatavast IPCs on käsud erinevad. Näiteks kui kasutate nimega torusid, on käsk "NET SESSION" või "NET FILES"; kui tegemist on TCP/IP-pistikupesaga, saate aktiivsete TCP-seansside kuvamiseks kasutada teksti "NETSTAT"; IPX-/SPX korral peate kasutama jõudluse monitori, et jälgida "NWLink SPX" ühendusi avatuna.

  5. Kui IPC seansid on endiselt aktiivsed Windows NT Serveri arvutis, on see täiesti tavaline, et SQL Server säilitab need ühenduste protsessid. Kui Windows NT tühistab IPC-seansid, teavitatakse sellest SQL Serverit ja kustutatakse sellega seotud protsessid. Võimalik, et saate kohandada teatud Windows NT võrgu parameetreid, et lühendada ajavahemikku, mille Windows NT peab enne surnud seansside tühjendamist ootama. Olenevalt sellest, millist IPCs kasutate, on kaasatud parameetrid väga erinevad.Lisateavet leiate järgmisest artiklist numbrist kuidas muuta järgmisi registrisätete, et need vastaksid järgmistele teemadele, et vaadata, kuidas neid registrisätete muuta, et need vastaksid järgmistele Microsofti teabebaasi (Knowledge Base) sätetele.

    120642 TCP/IP ja NetBT konfiguratsiooni parameetrid Windows 2000 või Windows NT jaoks

    99745 NWLINK registri parameetrite häälestamine

    • Nimega torud: nimega torud rakendatakse Server Message Block (SMB) kihis teiste transpordivahendite (nt TCP/IP, NetBEUI või NWLink IPX/SPX) peal. Õhuke kiht nimega NetBIOS rakendatakse tavaliselt SMB ja transpordi kihi vahel. Seetõttu on mugavam reguleerida seda, kui kaua on mitte-reageeri nimega torude seanss peab enne sulgemist ootama vastava NetBIOS-kihi KeepAlive parameetrite kohandamist. TCP/IP korral on kaasatud NetBIOS-kiht NBT (NetBIOS üle TCP) ning kaasatud parameeter on SessionKeepAlive järgmises registris. KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters Kui kasutatav protokoll on NWlink IPX/SPX, on kaasatud parameetrid KeepAliveCount ja parameeter KeepAliveTimeout järgmises registris. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNBLink\Parameters Pange tähele, et mõned nimega torud üle NWLink võivad ignoreerida NetBIOS-kihti (DirectHosting), mis tähendab, et ülaltoodud NWNBlink NetBIOS-i parameetreid ei rakendata.

    • TCP/IP Sockets: Windows NT Server saadab perioodiliselt "Hoia elus paketid klientidele ja kliendid peaksid vastama. Kui klient ei vasta mingil põhjusel nendele pakettidesse, kustutab Windows NT TCP-seansi pärast konfigureeritud arvu kordi proovimist. Kaasatud parameetrid on KeepAliveInterval, KeepAliveTime ja TcpMaxDataRetransmissions järgmises registris. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    • IPX/SPX: sarnaselt TCP/IP-ga saadab Windows NT Server perioodiliselt "Hoia elus" pakette ja klientide vastuseid. Windows NT kustutab SPX ühendused, kui ta ei saa vastu võtta vastuseid pärast seda, kui olete saatnud konfigureeritud arvu "Hoia elus" pakette. Kaasatud parameetrid on KeepAliveCount ja parameeter KeepAliveTimeout järgmises registris. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWLnkSPX\Parametes

    Pange tähele, et kui teie IPCs parameetrid "Hoia elus" pole konfigureeritud kunagi aeguma, säilitab Windows NT IPC seansid lõputult isegi siis, kui kliendid on täiesti sulgunud. Sellisel juhul säilitab SQL Server need klientarvutite protsessid lõputult, mida eeldatakse. Lisateavet parameetrite kohta leiate oma Windows NT dokumentatsioonist või Windows NT Resource Kit ' ist. Kui kahtlustate, et teie Windows NT serveri arvuti ei kõrvalda neid seansse vastavalt konfiguratsiooni parameetritele, võite abi saamiseks võtta ühendust oma esmase Windows NT kasutajatoe pakkujaga.

  6. Kui IPC seanssi ei ole enam Windows NT Serveri arvutis, kuid SQL Server endiselt hoiab kliendi protsessi, nagu on näidatud sp_who, saate käsuga "Tapa", et protsessi tühjendada ajutise lahendusena, ja võtke abi saamiseks ühendust esmase SQL serveri tugiteenuste pakkujaga.

Selle teema kohta lisateabe saamiseks, mis on seotud SQL Server 2000, lugege teemat "orvuks seansid" SQL Server Books Online ' is.

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×