Sümptomid

Kui dump of SQL serveri kasutaja andmebaasi taastamine muu SQL serveri (nt hot backup server) või sama SQL serveri taastamine või pealelaadimise vanast versioonist põhi andmebaasi, kui ka kasutaja ja andmebaasi õigusi võib olla vale.

See probleem ilmneb mitmel viisil:

  • Samas 6.x serverisse sisse logides, kasutajatele võidakse kuvada järgmine tõrketeade:

    MSG 4002, tase 14 riigi 1 serveri Microsoft SQL Server, Line 0
    Sisselogimine nurjus
    DB-Raamatukogu: Login vale.

  • 7.0 serverisse sisse logides, samas kasutajatele võidakse kuvada järgmine tõrketeade:

    MSG 18456, tase 14 olek on 1,
    Kasutaja '%ls' sisselogimine nurjus.

  • Püüdes juurdepääsu andmebaasi objektide kasutajatele võidakse kuvada järgmine tõrketeade:

    MSG 229, tase 14, olek 1
    %s juurdepääs keelatud objekti %. * s, andmebaasi %. * s, omanik %.*s

  • Proovides luua login ja juurdepääsu taastatud andmebaasi või lisada kasutaja andmebaasi, võidakse kuvada järgmine tõrketeade:

    Microsoft SQL-DMO (ODBC SQLState: 42000) tõrge 15023: kasutaja või rolli '%s' on juba olemas andmebaasis.

  • Kasutajad võivad olla õigused esemete, millele nad varem ei.

Põhjus

Kasutaja sisselogimise teave on salvestatud syslogins põhi andmebaasi tabelisse. Serverite muutes või muutes seda teavet uuesti koostamine või vanemat versiooni põhi andmebaasi taastamine võib erineda dump kasutaja andmebaasi loomise teavet. Kui ka kasutajate jaoks pole olemas, kuvatakse tõrketeate, mis ütleb "Sisselogimine nurjus" laadimisel serverisse sisse logida. Kui ka kasutaja, kuid SUID väärtused (puhul 6.x) või (7.0) SID väärtused master... syslogins ja sysusers kasutaja andmebaasi tabelisse, kasutajad võivad olla erinevad õigused kasutajate andmebaasi oodatust.

Märkus. Kui kasutate Microsoft SQL Server 2005, on syslogins tabel ja sysusers rakendada ühilduvuse vaated. Need on sys.syslogins ja sys.sysusers. Vaated ühilduvuse kohta lisateabe saamiseks vaadake SQL Server 2005 võrguraamatutest teemat "Compatibility vaated (Transact-SQL)".

Lahendus

Selle probleemi lahendamiseks tehke ühte järgmistest.

  • Kui praegune skriptid on saadaval ka lisada, kasutajad ja õigused katkestada ja taastada neid skripte. Näiteid kasutada skripte üle kanda sisselogimise serveri vahel, lugege järgmist Microsofti teabebaasi (Knowledge Base) artiklit:

    246133 kuidas: Transfer sisselogimise ja paroolide vahel SQL Serveri eksemplari

    240872 kuidas luba probleemide lahendamiseks andmebaasi SQL serveri vahel liikumisel

  • Sp_change_users_login salvestatud protseduuri abil uuesti seostamiseks seoseid syslogins, sysusers ja sysalternates tabelid. Protseduuri muudab parimad hinnangud lingid ja lubada kasutaja juurdepääsu õigusi rohkem kui ette nähtud. Protseduuri suvandiga aruande esmalt loob loendi kasutajad, kes ei muudeta. Seejärel kontrollige tagamaks, et kasutajatel on vajalikud õigused. Samuti pidage meeles, et sp_change_users_login protseduuri lahenda probleemid sisselogimisi ja teises järjekorras andmebaasile saavad kasutajad kui varundamine on taastatud.

  • Taastada põhi andmebaasi dump kasutaja database dump aeg server enne laadimist kasutajate andmebaasi. See tagab kõigi kasutajate andmebaasi kasutajateabe vastab õigesti master tabeliga syslogins.


    Hoiatus: põhi andmebaasi server kogu andmetega ja mõjutab kõigi andmebaaside serveris. Taastada põhi andmebaasi, võib ilmneda täiendav kasutaja ID-d ja/või andmebaase, mis on kadunud või on valede õigustega. Muudatustest master pärast varundamise aeg lähevad kaotsi. Kasutage seda meetodit ainult kui olete kindel, et põhi andmebaasi varukoopia versioon sisaldab täpset teavet kõnealuse kasutajate andmebaasi ja teiste andmebaaside serveris.

  • Transfer Manager (6.x) või DTS (jaoks 7.0) abil saate kopeerida selle sisselogimise. Pange tähele, et paroolid ei ei viida seda meetodit kasutades.

  • Võtke ühendust oma esmane tugiteenuste pakkuja poole.

Kas vajate rohkem abi?

Täiendage oma oskusi

Tutvuge koolitusmaterjalidega >

Kasutage uusi funktsioone enne teisi

Liitu Microsofti Insideri programmis osalejad >

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?

Täname tagasiside eest!

×