Šiuo metu esate neprisijungę, laukiama, kol iš naujo prisijungsite prie interneto

Kaip šalinti triktis klaidos pranešimas "Negalima generuoti SSPI kontekste"

2015 m. liepos 14 d. buvo nutrauktas „Windows Server 2003“ palaikymas

2015 m. liepos 14 d. „Microsoft“ nutraukė „Windows Server 2003“ palaikymą. Tai paveikė programinės įrangos naujinimus ir saugą. Sužinokite, ką tai reiškia jums ir kaip užtikrinti kompiuterio saugą.

SVARBU: šis straipsnis išverstas naudojant „Microsoft“ mašininio vertimo programinę įrangą ir gali būti pataisytas naudojant „Community Translation Framework“ (CTF) technologiją. „Microsoft“ siūlo mašinos išverstus ir po to bendruomenės suredaguotus straipsnius, taip pat žmogaus išverstus straipsnius siekdama suteikti prieigą prie visų savo žinių bazės straipsnių daugeliu kalbų. Mašinos išverstuose ir vėliau paredaguotuose straipsniuose gali būti žodyno, sintaksės ir / arba gramatikos klaidų. „Microsoft“ neatsako už jokius netikslumus, klaidas arba žalą, patirtą dėl neteisingo turinio vertimo arba mūsų klientų naudojimosi juo. Daugiau apie CTF žr. http://support.microsoft.com/gp/machine-translation-corrections.

Spustelėkite čia, norėdami pamatyti šio straipsnio versiją anglų kalba: 811889

Suprasti problemą

Šiame skyriuje pateikiama pagrindinė informacija apie Kodėl atsiranda klaidos pranešimas "Negalima generuoti SSPI kontekste" ir kaip šalinti triktis klaidos. Galite gauti šį klaidos pranešimą jei šios sąlygos teisingos:
  • Jūs jungiatės prie Microsoft SQL Server.
  • Naudosite integruotų saugumo.
  • Kerberos autentifikavimo naudojamas atlikti saugumo delegacija.
Tinkamas Kerberos terminijos ir tarnybos pavadinimas
SQL serverio tvarkyklė kliento kompiuteryje naudoja integruotą saugumo naudoti Windows saugos atpažinimo ženkle vartotojo abonemento turi pavykti prisijungti prie kompiuterio, kuriame veikia SQL serveris. Windows saugos atpažinimo ženkle yra pavesta iš kliento kompiuterį, kuriame veikia SQL serveris. SQL serverio vairuotojas atlieka ši delegacija kai vartotojo saugos atpažinimo ženklas yra perkelti iš vieno kompiuterio į kitą naudodami vieną iš šių konfigūracijų:
  • NTLM per įvardintus kanalus (ne naudojant saugumo paramos teikėjo sąsaja [SSPI])
  • NTLM per TCP/IP lizdai su SSPI
  • Kerberos autentifikavimo per TCP/IP lizdai su SSPI
Saugumo paramos teikėjo sąsaja (SSPI) yra rinkinys Windows API, kuri leidžia delegacija ir abipusio autentifikavimo per bet kokį bendro pobūdžio duomenis transporto sluoksnis, pvz., TCP/IP lizdai. Todėl SSPI leidžia kompiuteryje, kuriame veikia operacinė sistema Windows saugiai perduoti vartotojo saugos atpažinimo ženklą iš vieno kompiuterio į kitą per bet kokį transporto sluoksnis, kuris gali perduoti žaliavinio baitų duomenų.

"Negalima sukurti SSPI kontekste" klaida yra generuojama SSPI naudoja Kerberos autentifikavimo deleguoti per TCP/IP ir Kerberos autentifikavimo negali atlikti reikiamas operacijas sėkmingai deleguoti vartotojo saugos atpažinimo ženkle į paskirties kompiuterį, kuriame veikia SQL serveris.
Kodėl saugumo paramos Provider Interface naudoja NTLM arba Kerberos autentifikavimo
Kerberos autentifikavimas naudoja identifikatorius pavadinimu "Tarnybos pavadinimas" (SPN). Ir SPN laikyti domeno arba miško unikalų identifikatorių kai kurios instancijos serverio išteklių. Jūs galite turėti yra SPN tinklo tarnybos, SQL tarnyba, arba yra SMTP paslauga. Taip pat gali interneto paslaugų pakartotinas tame pačiame kompiuteryje, fizinės, kuris unikalus SPN.

SPN SQL Server sudaro šie elementai:
  • ServiceClass: jis nurodo bendrą klasės paslaugų. Tai alwaysMSSQLSvc SQL Server.
  • Host: tai domeno pavadinimą DNS nuo kompiuterio thatis paleisti "SQL Server".
  • Port: tai yra prievado numeris, paslauga yra klausytis.
Pavyzdžiui, tipiškas SPN kompiuteryje, kuriame veikia SQL serveris yra toks:
MSSQLSvc/SQLSERVER1.northamerica.corp.mycompany.com:1433
SPN, numatytojo egzemplioriaus formatą ir formatą, kad SPN už įvardytąjį nesiskiria. Prievado numeris yra jungia SPN su konkrečiu atveju.

Kai klientas SQL serverio vairuotojas naudoja integruotą saugumo prisijungti prie SQL serverio, vairuotojas kodas klientas bando išspręsti visas DNS kompiuterio, kuriame veikia SQL serverio naudojant tinklo API WinSock. Norint atlikti šią operaciją, vairuotojas kodas ragina gethostbyname ir gethostbyaddr WinSock API. Net jei IP adresas arba kompiuterio vardas yra pripažinta kompiuterį, kuriame veikia SQL serverio pavadinimas, SQL serverio vairuotojas bando išspręsti visas DNS kompiuterio, jei kompiuteris naudoja integruotą saugumo.

Kai SQL serverio tvarkyklė kliento išsprendžia visas DNS kompiuterio, kuriame veikia SQL serveris, atitinkamas DNS naudojama formos SPN šiam kompiuteriui. Todėl klausimų apie kaip IP adresas arba kompiuterio vardas yra visas DNS iš WinSock gali sukelti SQL serverio tvarkyklė sukurti netinkamas SPN kompiuterio, kuriame veikia SQL Server.

Pvz., netinkamas SPN kad kliento SQL serverio tvarkyklė gali susidaryti kaip išspręsta visiškai kvalifikuotas DNS yra šie:
  • MSSQLSvc / SQLSERVER1:1433
  • MSSQLSvc/123.123.123.123:1433
  • MSSQLSvc/SQLSERVER1.antartica.corp.mycompany.com:1433
  • MSSQLSvc/SQLSERVER1.dns.northamerica.corp.mycompany.com:1433
Kai SQL serverio tvarkyklė sudaro SPN, kuri yra neleistina, autentifikavimo vis dar veikia, nes SSPI sąsaja bando ieškoti SPN į katalogų tarnybos Active Directory, ir ji neranda SPN. Jei SSPI sąsaja neranda SPN, Kerberos autentifikavimas neatliekamas. Tuo metu SSPI sluoksnis persijungia į NTLM autentifikavimo režimą ir įeiti naudojant naudoja NTLM autentifikavimas ir paprastai pavyksta. Jei SQL serverio tvarkyklė SPN, kad leistina, bet nėra priskirta atitinkamą pakuotę, jis bando naudoti SPN bet negaliu. Tai sukelia klaidos pranešimą "Negalima generuoti SSPI kontekste". Jei SQL serverio paleidimo sąskaita yra vietinė sistema, atitinkamą pakuotę yra kompiuterio pavadinimą. Bet kurią kitą sąskaitą, atitinkamą pakuotę yra SQL serverio paleidimo sąskaita. Nes autentifikavimo bandys naudoti pirmą SPN, kad ji suranda, patikrinkite, ar yra ne SPN priskirtas neteisingas konteineriai. Kitaip tariant, kiekviena SPN turi būti priskirti vieną ir tik vienas konteineris.

Pagrindinis veiksnys, kuris padeda Kerberos autentifikavimas sėkmingas yra galiojančio DNS funkcijas tinkle. Galite patikrinti šią funkciją kliento ir serverio naudojant Ping komandų eilutės priemonę. Kliento kompiuteryje, vykdykite nurodytą komandą, norėdami gauti IP adresą iš serverio, kuriame veikia SQL serveris (kai kompiuteryje, kuriame veikia SQL serverio vardas yra SQLServer1).
Ping sqlserver1
Norėdami pamatyti, ar Ping utility išsprendžia visas DNS SQLServer1, vykdykite šią komandą:
Ping- IPAddress
Pvz.:
C:\>ping SQLSERVER1Pinging SQLSERVER1 [123.123.123.123] with 32 bytes of data:	Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128	Ping statistics for 123.123.123.123:    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:    Minimum = 0ms, Maximum =  0ms, Average =  0ms
C:\>ping -a 123.123.123.123	Pinging SQLSERVER1.northamerica.corp.mycompany.com [123.123.123.123] with 32 bytes of data:	Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Ping statistics for 123.123.123.123:    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:    Minimum = 0ms, Maximum =  0ms, Average =  0msC:\>
Kai komanda Ping- IPAddress priima į teisingą visiškai kvalifikuotas DNS kompiuterio, kuriame veikia SQL serveris, kliento rezoliucija taip pat sėkmingai.
SQL serverio tarnybos vyriausioji vardų kūrimą
Tai yra vienas iš svarbių dalių Kerberos autentifikavimo ir SQL serverio sąveika. Su SQL serverio, galite paleisti SQL serverio paslaugą pagal vieną iš šių veiksmų: LocalSystem sąskaitos, vietos vartotojo abonementą arba domeno vartotojo abonementą. Paleidus SQL serverio tarnybos egzemplioriaus, jis bando užsiregistruoti savo SPN Active Directory naudoti, kad DsWriteAccountSpn API. Jei skambutis nepasiteisina, toks įspėjimas yra įrašyti įvykių peržiūros programą:

Šaltinis: MSSQLServer ID: 19011 Aprašymas: SuperSocket info: (SpnRegister): klaida 8344.

Daugiau informacijos apie funkciją DsWriteAccountSpn , eikite į Microsoft tinklalapyje:
Supaprastintas paaiškinimas
Jei paleisti SQL serverio paslaugą pagal LocalSystem sąskaitą, SPN bus automatiškai įregistruotas ir Kerberos autentifikavimo sėkmingai bendrauja su kompiuteriu, kuriame veikia SQL serveris. Tačiau, jei jums paleisti SQL serverio paslaugą pagal domeno abonementą arba vietinės sąskaitos, bandymas sukurti SPN nepavyksta, dažniausiai nes domeno ir vietinės sąskaitos neturi teisės nustatyti savo SPN. Kai SPN sukurti nepasiteisina, tai reiškia, kad nėra SPN yra sukurti kompiuterio, kuriame veikia SQL serveris. Jei jums patikrinti naudojant domeno administratoriaus abonementą kaip SQL serverio tarnybos abonementą, SPN sėkmingai sukurtas nes domeno administratoriaus kredencialai, kuriuos reikia turėti norint sukurti yra SPN yra.

Todėl, kad jūs negalite naudoti domeno administratoriaus abonementą paleisti SQL serverio paslaugą (siekiant išvengti pavojaus saugumui), kompiuteryje, kuriame veikia SQL Server negali sukurti savo SPN. Todėl, turite neautomatiniu būdu sukurti yra SPN kompiuteryje, kuriame veikia SQL serveris Jei norite naudoti Kerberos autentifikavimą prijungus prie kompiuterio, kuriame veikia SQL serveris. Tai aktualu, jei jūs naudojate SQL serverio domeno vartotojo abonementą arba vietos vartotojo abonementą. SPN sukuriate turi būti priskirti tarnybos abonementą SQL Server tarnybos, ypač kompiuteryje. SPN negali būti priskirta prie kompiuterio konteinerio nebent kompiuterį, kuriame veikia SQL serveris prasideda vietinės sistemos abonentas. Turi būti vienas ir tik vienas SPN, ir jis turi būti priskirtas į atitinkamą konteinerį. Paprastai tai yra dabartinis SQL serverio tarnybos abonementą, bet tai kompiuterio į indą su vietinės sistemos abonentas.

Išspręsti problemą

Šiame skyriuje nurodomi priemonių siekdami užtikrinti, kad jūsų kompiuteris neturi patirties SSPI problemas.

Patikrinkite, ar domeno
Patikrinti, kad domeno, kuriame įsiregistruojate ant gali bendrauti su domeno, kuriam priklauso kompiuterį, kuriame veikia SQL serveris. Taip pat reikia teisingai vardo vertinimą srityje.
  1. Turite įsitikinti, kad jūs galite sėkmingai įeiti į sistemą Windows naudodami tą patį domeno abonementą ir slaptažodį, paleidimas į SQL serverio paslaugą. Pavyzdžiui, SSPI klaida gali atsirasti vienoje iš šių situacijų:
    • Domeno yra užblokuotas.
    • Sąskaitos slaptažodis buvo pakeistas. Tačiau, jums niekada paleisti SQL serverio paslaugą slaptažodis buvo pakeistas.
  2. Jei jūsų įėjimo domeno kompiuterį, kuriame veikia SQL serverio domeno, patikrinti patikimas ryšys tarp domenų.
  3. Patikrinkite, ar serveris priklauso prie domeno ir domeno abonementą, kurį naudojate prisijungti yra tame pačiame miške. Tai būtina SSPI dirbti.
  4. Naudoti dėl sąskaitos yra patikimos delegacija Active Directory vartotojai ir kompiuteriai paleidus SQL serverio pasirinktis.

    Pastaba. Į "sąskaitos yra patikimos delegacijos" teisė yra reikalaujama tik kada yra perduoti įgaliojimai iš paskirties SQL serverį prie nuotolinio serverio SQL pavyzdžiui dvigubo apynių scenarijų kaip paskirstyti užklausų (susijęs serverio užklausas), naudoti sistemos Windows autentifikavimą.
  5. Naudoti manipuliuoti tarnybos Pana¹iù sąskaitas (SetSPN.exe) įrankis Windows 2000 išteklių rinkinyje. Windows 2000 domeno administratoriaus abonementui arba Windows Server 2003 domeno administratoriaus abonementų galite naudoti priemonę kontroliuoti SPN, priskirtas paslaugą ir sąskaitą. SQL Server, turi būti vienas ir tik vienas SPN. SPN turi būti priskirtas į atitinkamą pakuotę, Dabartinis SQL serverio tarnybos abonementą dažniausiai ir kompiuterio abonento kai SQL serverio prasideda vietinės sistemos abonentas. Jei paleidus SQL serverio o prisijungęs su LocalSystem abonentu, SPN automatiškai nustatyti. Tačiau, jei naudojate domeno abonementą paleisti SQL serverio arba pakeičiate abonementą, kurį yra naudojamas norint paleisti SQL serverio, turite paleisti SetSPN.exe pašalinti baigėsi SPN, ir tada turite pridėti galiojantį SPN. Daugiau informacijos rasite "Saugumo sąskaita delegacija" temoje SQL serverio 2000 knygų Online. Norėdami tai padaryti, eikite į Microsoft interneto svetainėje:Daugiau informacijos apie Windows 2000 išteklių rinkiniai, eikite į Microsoft tinklalapyje:
  6. Patikrinkite, ar kad vardo vertinimą vyksta tinkamai. Pavadinimas sprendimo metodai gali būti DNS, laimi, šeimininkai failus ir Lmhosts failus. Norėdami gauti daugiau informacijos apie pavadinimas rezoliucija problemas ir trikčių šalinimo, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
    169790 Kaip pagrindinio TCP/IP triktis
  7. Norėdami gauti daugiau informacijos, kaip išspręsti pritaikymo neįgaliesiems ir ugniasiene susijusius su Active Directory, spustelėkite šiuos numerius peržiūrėkite straipsnius Microsoft žinių bazėje:
    291382 Dažniausiai užduodami klausimai apie Windows 2000 DNS ir Windows Server 2003 DNS
    224196 Apriboti Active Directory replikavimo srautą ir kliento RPC srautą į konkretų uostą
Sukonfigūruoti SQL serverio paslaugą sukurti SPN dinamiškai SQL serverio egzempliorių
Norėdami sukonfigūruoti SQL serverio paslaugą sukurti SPN dinamiškai, turite pakeisti sąskaitos prieigos kontrolės parametrus į katalogų tarnybos Active Directory. Turite suteikti "Skaityti servicePrincipalName" leidimo ir "Rašyti servicePrincipalName" leidimą SQL serverio tarnybos abonemento.

Įspėjimas Jei naudojate aktyvus katalogas paslaugų sąsajų (ADSI) redaguoti pridėtinis, LDP, akimis, arba bet kuri kita LDAP versija 3 klientams ir jūs neteisingai pakeisti Active Directory objektų atributus, gali sukelti rimtų problemų. Šios problemos gali tekti iš naujo įdiegti Windows Server 2003, Microsoft Windows 2000 Server, Microsoft Exchange Server 2003, Microsoft Exchange 2000 Server, arba tiek Windows ir keistis. Mes negalime garantuoti, kad problemas, neteisingai keičiasi iš Active Directory objektų atributai gali būti išspręsta. Pakeisti savo pačių rizika po ymius.

Pastaba. Suteikti atitinkamas teises ir vartotojo teisių į SQL serverio paleidimo sąskaitą, jūs turite būti įėję kaip domeno administratoriaus, ar turite paprašyti domeno administratoriaus, kad šiai užduočiai atlikti.

Norėdami sukonfigūruoti SQL serverio paslaugą sukurti SPN dinamiškai, atlikite šiuos veiksmus:
  1. Spustelėkite pradėti, spustelėkite vykdyti, tipo Adsiedit.msc, tada spustelėkite gerai.
  2. ADSI Redaguoti snap-in, plėsti domeno [Nazwa_domeny], išplėsti DC =<b00> </b00> RootDomainName, plėsti KN = vartotojai, dešiniuoju pelės mygtuku spustelėkite KN =<b00> </b00> AccountName, o tada spustelėkite Ypatybės.

    Pastabos
    • Nazwa_domeny yra vietos rezervavimo ženklą už domeno vardą.
    • RootDomainName yra tik rezervavimo ženklas, aknies domeno pavadinimas.
    • AccountName yra vietos žymeną, skirtą to paleisti SQL serverio tarnybos abonementą.
    • Jei nurodysite vietinės sistemos paskyros paleisti SQL serverio paslaugą, AccountName yra vietos žymeną, skirtą abonementą, kurį naudojate įeidami į Microsoft Windows.
    • Jei nurodėte domeno vartotojo abonementą, kad paleisti SQL serverio paslaugą, AccountName yra vietos rezervavimo ženklą už domeno vartotojo sąskaitą.
  3. Paieška pagal KN =<b00> </b00> AccountName Ypatybių dialogo lange spustelėkite skirtuką Sauga .
  4. Skirtuke Sauga spustelėkite Išsamiau.
  5. Dialogo lange Specialūs apsaugos nustatymai įsitikinkite, kad savarankiškai , yra išvardyti teisių įrašai.

    Jei savarankiškai sąraše nėra, spustelėkite įtrauktiir tada pridėti savarankiškai.
  6. Pagal teisių įrašai, spustelėkite savarankiškai, ir tada spustelėkite Redaguoti.
  7. Leidimo atvykti dialogo lange, spustelėkite skirtuką Ypatybės .
  8. Skirtuke Ypatybės sąraše taikyti spustelėkite šį objektą tik , ir tada įsitikinkite, kad žymės langelius šiomis teisėmis atrenkami pagal teises:
    • Skaityti servicePrincipalName
    • Rašyti servicePrincipalName
  9. Tris kartus spustelėkite gerai ir išeikite iš ADSI Redaguoti pridėtiniame įrankyje.
Už paramą pagal į procesą, su Active Directory produktų palaikymo ir paminėti šį Microsoft žinių bazės straipsnį.

Svarbu. Mes rekomenduojame, kad jūs nesuteikia WriteServicePrincipalName teisę į SQL paslaugos abonementas kai šie teiginiai:
  • Yra daug domenų valdiklių.
  • SQL serverio yra sugrupuotos.
Tokiu atveju SPN SQL Server gali būti panaikintas dėl latentinis dubliuojant Active Directory. Tai gali sukelti jungiamumo prie SQL serverio egzemplioriaus.

Manoma, kad šiuos veiksmus:
  • SQL virtual egzemplioriaus pavadinimu Sqlcluster su dviejų mazgų: mazgo A ir mazgo B.
  • A mazgas yra patvirtintas domeno valdiklio A ir mazgas B Autentifikuota domeno valdiklio B.


Taip gali pasireikšti:
  1. Sqlcluster instancijos yra veiklioji mazge A ir registruoti SQL SPN, domeno valdiklio A metu iki...
  2. Sqlcluster instancijos persijungs į mazgas B kai mazgas A paprastai yra išjungti.
  3. Sqlcluster instancijos išregistruoti savo SPN iš domeno valdiklio A išjungimo metu mazge A.
  4. SPN pašalinama iš domeno valdiklio A bet pakeitimas dar nebuvo replikuotas domeno valdikliui, B.
  5. Mazgas b paleisdami ir Sqlcluster atveju bando SQL SPN užsiregistruoti domeno valdiklio B. Nuo to laiko, SPN vis dar egzistuoja mazgas B neregistruoja SPN.
  6. Po tam tikro laiko, domeno valdiklio A atkartoja panaikinimas SPN (nuo 3 žingsnio) domeno valdikliui, B kaip Active Directory kopijavimo. Galutinis rezultatas, kad nėra galiojantis SPN yra SQL egzemplioriaus srityje ir todėl mato ryšio problemas Sqlcluster instancijos.

Pastaba. Šis klausimas tvirtinamas SQL serverio 2012.
Patikrinti serverio aplinka
Patikrinti kai kuriuos pagrindinius nustatymus kompiuteryje, kuriame įdiegtas SQL serveris:
  1. Kerberos autentifikavimo nepalaikomas Windows 2000 kompiuteriuose, kuriuose veikia Windows grupavimas jei pritaikėte 3 pakeitimų paketu (arba naujesne versija) su Windows 2000. Dėl to gali nepavykti bandyti naudoti SSPI autentifikavimą Klasterinė SQL serverio egzemplioriuje. Norėdami gauti daugiau informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite „Microsoft“ žinių bazės straipsnį:
    235529 Kerberos autentifikavimo palaikymas Windows 2000 pagrindu veikiančios serverio grupėms
  2. Patikrinkite, ar kad serveris veikia Windows 2000 Service Pack 1 (SP1). Daugiau informacijos apie Kerberos autentifikavimo palaikymas Windows 2000-serverių, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
    267588 "Negalima sukurti SSPI kontekste" klaidos pranešimas rodomas, kai prisijungiate prie SQL Server 2000
  3. Klasteryje, jei to abonemento, kurį naudojate norėdami paleisti SQL Server, SQL Server agento arba viso teksto ieškos paslaugų pokyčius, pvz., naują slaptažodį, atlikite tuos pateikiama šiame Microsoft žinių bazės straipsnyje:
    239885 Kaip pakeisti tarnybos abonementus Klasterinė kompiuteryje, kuriame veikia SQL serveris
  4. Patikrinkite, ar to abonemento, kurį naudojate norėdami paleisti SQL serverio turi atitinkamas teises. Jei naudojate sąskaita, kurioje nėra vietos administratorių grupės narys, rasite "Parametras iki Windows paslaugų sąskaitas" temoje SQL Server Books Online, teisės, kurios šiam abonementui turi būti išsamus sąrašas:
Patikrinti kliento aplinkoje
Patikrinkite kliento:
  1. Įsitikinkite, kad NTLM apsaugos palaikymo teikėjas yra įdiegtas ir įjungtas klientas. Norėdami gauti daugiau informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite „Microsoft“ žinių bazės straipsnį:
    269541 Kai jūs prisijungti prie SQL serverio jei Windows NT LM apsaugos palaikymo teikėjo registro rakto nėra klaidos pranešimas: "neįmanoma sukurti SSPI kontekste"
  2. Nustatyti, ar naudojate talpyklinių kredencialų. Jei įėjote klientui naudodami talpyklinius įgaliojimus, išėjus iš kompiuterio ir tada prisijungti atgal, kai jūs galite prisijungti prie domeno valdiklio į neleidžia naudoti talpyklinius įgaliojimus. Norėdami gauti daugiau informacijos, kaip nustatyti, ar naudojate talpyklinių kredencialų, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
    242536 Viskas yra ne įspėti, kai registravimo ir dėl su domeno talpyklinių kredencialų
  3. Patikrinti, kad kliento ir serverio datos galioja. Jei datos yra per toli vienas nuo kito, sertifikatus gali būti laikomos negaliojančiomis.
  4. SSPI naudoja failą, pavadintą Security.dll. Jei bet kuris kitas prašymas įdiegia failą, kuris naudoja šį pavadinimą, kitas failas gali būti naudojamas vietoje realų SSPI failą. Norėdami gauti daugiau informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite „Microsoft“ žinių bazės straipsnį:
    253577 Klaida: 80004005 - MS ODBC SQL serverio tvarkyklė negali inicijuoti SSPI paketas
  5. Jei AK klientų operacinės sistemos yra Microsoft Windows98, turite įdiegti Client for Microsoft Networks komponento kliento. Norėdami gauti daugiau informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite „Microsoft“ žinių bazės straipsnį:
    267550 Re: "patvirtinimas nepasisekė" prisijungus prie SQL serverio per TCP/IP
Patikrinkite, ar kliento tinklo įrankis
Į kliento tinklo naudingumas (Jolanta Gasiuniene) teikiama kartu su Microsoft duomenų prieigos komponentai (MDAC) ir ji naudojama sukonfigūruoti ryšį su kompiuteriais, kuriuose veikia SQL Server. Galite naudoti MDAC Cliconfg.exe Jolanta Gasiuniene įrankis sukonfigūruoti ryšį:
  1. Skirtuke Bendra būdu protokolus aredefined priklauso MDAC versija. Su ankstesnėmis versijomis MDAC, galite pasirinkti "default" protokolą. Naujausios versijos MDAC, jūs canenable vienas ar daugiau protokolų su vienu iš svarbiausių sąrašą kai jūs connectto SQL serverio. Nes SSPI taikomas tik TCP/IP, yra differentprotocol, pvz., Named Pipes, galite išvengti klaidos.
  2. Patikrinti skirtuką pseudonimas – Jolanta Gasiuniene įsitikinti, kad alias apibrėžiama serverio, kuriame bandote prisijungti. Jei nenurodytas serverio pseudonimas, patikrinkite parametrus, kaip šis kompiuteris sukonfigūruotas prisijungti prie SQL serverio. Galite tai patikrinti išbraukiant pseudonimas serverio pamatyti ar elgesys pasikeičia.
  3. Jei pseudonimas serverio apibrėžiamas ne Jolanta Gasiuniene, pridėti slapyvardį serverio į kurį jungiatės. Atliekant šią užduotį, yra aiškiai apibrėžti protokolo ir pasirinktinai nustatyti IP adresą ir prievadą.
Rankiniu būdu nustatyti SQL serverio tarnybos pavadinimą
Norėdami gauti daugiau informacijos apie tai, kaip rankiniu būdu nustatyti SQL serverio tarnybos pavadinimą, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
319723 Kaip naudoti Kerberos autentifikavimo SQL Server
Saugumo paramos teikėjo sąsaja (SSPI) yra sąsajos su Microsoft Windows NT užstatą, kuris yra naudojamas Kerberos autentifikavimo ir palaiko autentifikavimo sistemos NTLM saugumo paramos teikėjo. Autentifikavimo atsiranda operacinės sistemos lygmeniu, kai įeinate į Windows domene. Kerberos autentifikavimas yra prieinama tik Windows 2000 kompiuteriuose, kurių Kerberos autentifikavimas įjungtas ir kad naudoja Active Directory.

SSPI naudojama tik TCP/IP ryšius, kurie yra pagaminti naudojant Windows autentifikavimą. Windows autentifikavimas yra taip pat žinomas kaip patikimi ryšiai arba integruotą saugumo. SSPI nenaudoja įvardintus kanalus ar multi-protocol jungtys. Todėl, kad problemos galima išvengti, programų jungtis iš kitokį protokolą nei TCP/IP konfigūravimas.

SQL serverio klientas bando naudoti integruotą saugumo per TCP/IP lizdai prie kompiuterio, kuriame veikia SQL Server, SQL serverio kliento tinklo bibliotekos naudoja SSPI API saugumo delegacija. SQL serverio tinklo kliento (Dbnetlib.dll) leidžia iškviesti funkciją AcquireCredentialsHandle ir eina "derėtis" pszPackage parametro. Tai reiškia, kad pagrindinių saugumo teikėjas atlikti derėtis delegacija. Tokiu būdu derėtis galimybę išbandyti Kerberos arba NTLM autentifikavimą Windows kompiuterių. Kitaip tariant, Windows naudoti Kerberos delegaciją jei paskirties kompiuteryje, kuriame veikia SQL serveris turi susieto, sukonfigūruotas SPN. Kitu atveju Windows naudoti NTLM delegacija.

Pastaba. Įsitikinkite, kad jūs nenaudojate yra abonemento pavadinimą "Sistema" pradėti bet SQL Server tarnybos (MSSQLServer, SQLServerAgent, MS ieška). Raktinių žodžių sistema gali sukelti konfliktus su raktas paskirstymo centras (KDC).

Renka informaciją, skirtą Microsoft klientų palaikymo (CSS) dėžę

Jei problemos priežastis negali gauti naudojant trikčių šalinimo veiksmus šiame straipsnyje, rinkti tokią informaciją ir atidaryti Microsoft klientų palaikymo (CSS) atveju.

Žodžių sąrašą Microsoft klientų palaikymo telefonų ir informacijos apie palaikymo kainas, eikite į Microsoft tinklalapyje:
  1. Sukurti sqldiag ataskaitą iš SQL serverio. Moreinformation, rasite "sqldiag įrankis" temoje į SQL serverio BooksOnline.
  2. Užfiksuoti ekrano fotografiją kliento paklaidos.
  3. Atidarykite komandinę eilutę mazgas, kad negali prisijungti prie SQL serverio, ir įveskite šią komandą:
    Grynasis pradėti > started.txt
    Ši komanda sukuria failą, pavadintą Started.txt kataloge kur vykdote komandą.
  4. Įrašyti pagal šį registro raktą registro rakto reikšmės kliento kompiuteryje:
    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\CLIENT\CONNECTTO
  5. Klasterinė aplinkoje, rasti registro rakte kiekvienos sankaupos mazgui vertės:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\LMCompatibilityLevel
  6. Klasterinė aplinkoje, pamatyti ar registro rakte yra kiekvieno klasterio serveris mazge:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTLMSsp
  7. Užfiksuoti rezultatai jei jums prisijungti prie SQL serverio naudojant aUniversal Naming Convention (UNC) pavadinimą (arba SQL tinklo pavadinimą klasteryje) iš kliento.
  8. Užfiksuoti rezultatai jei ping kompiuterio pavadinimą (arba SQL tinklo pavadinimą klasteryje) iš kliento.
  9. Įrašykite pavadinimą, vartotojo sąskaitas, kad jūs naudojate pradėti kiekvienas iš SQL Server tarnybos (MSSQLServer, SQLServerAgent, MS ieška).
  10. Palaikymo specialistas turi žinoti, ar SQL serveris yra sukonfigūruotas mišrus autentifikavimas arba Windows tik autentifikavimas.
  11. Matyti, ar galite prijungti prie kompiuterio, kuriame veikia SQL Server to paties kliento naudojant SQL serverio autentiškumo patvirtinimą.
  12. Matyti, ar galite prisijungti naudodami protokolui.

Nuorodos

Daugiau informacijos apie kaip Kerberos autentifikavimo ir SSPI saugos darbai, spustelėkite šiuos numerius ir peržiūrėkite straipsnius Microsoft žinių bazėje:
266080 Atsakymus į dažnai užduodamus Kerberos autentifikavimo klausimus
231789 Vietos registravimosi procesui for Windows 2000
304161 SSPI abipusis autentifikavimas yra nurodyta kliento pusėje, bet ne serverio pusėje
232179 Kerberos administravimo Windows 2000
230476 Aprašymas, bendra Kerberos klaidoms, Windows 2000
262177 Kaip įgalinti Kerberos įvykių registravimo
277658 "Setspn" nepavyksta, jei domenas skiriasi nuo NetBIOS vardas kur registruota SQL serverio SPN
244474 Kaip priversti Kerberos naudoti TCP vietoj UDP Windows Server 2003, Windows XP ir Windows 2000
Norėdami pamatyti dokumentaciją Microsoft SQL Server 2000 saugumo, eikite į Microsoft tinklalapyje:

Įspėjimas: šis straipsnis išverstas automatiškai

Savybės

Straipsnio ID: 811889 – Paskutinė peržiūra: 03/03/2014 14:08:00 – Peržiūra: 3.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft Windows Server 2003 Standard Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 R2 Integration Services, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Standard Edition for Small Business, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 Reporting Services, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Standard Edition for Small Business, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, SQL Server 2012 Enterprise Core

  • kbsqlsetup kbhowtomaster kbhowto kbsmbportal kbmt KB811889 KbMtlt
Atsiliepimai
/html>