PRB: Chyby uživatelských přihlášení anebo oprávnění po obnovení zálohy

Překlady článku Překlady článku
ID článku: 168001 - Produkty, které se vztahují k tomuto článku.
Tento článek byl dříve publikován CZ168001
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Pokud je záloha uživatelské databáze serveru SQL Server obnovena do jiného serveru SQL Server (např. do serveru pro okamžitou zálohu) nebo do původního serveru po novém vytvoření nebo načtení starší verze databáze master, může dojít ke ztrátě uživatelských přihlašovacích informací nebo oprávnění.

Tyto potíže se mohou projevit různým způsobem:
  • Při přihlašování k serveru verze 6.x se může zobrazit následující chybová zpráva:
    Msg 4002, Level 14, State 1, Server Microsoft SQL Server, Line 0
    Login failed (Přihlášení se nezdařilo.)
    DB-Library: Login incorrect. (Přihlášení je nesprávné.)
  • Při přihlašování k serveru verze 7.0 se může zobrazit následující chybová zpráva:
    Msg 18456, Level 14, State 1,
    Login failed for user '%ls'. (Přihlášení uživatele %ls se nezdařilo.)
  • Při pokusu o přístup k objektům v databázi se může zobrazit následující chybová zpráva:
    Msg 229, Level 14, State 1
    %s permission denied on object %.*s, database %.*s, owner %.*s (Oprávnění %s bylo odepřeno; objekt %.s, databáze %.*s, vlastník %.*s)
  • Při pokusu o vytvoření přihlašovacího jména a udělení přístupových oprávnění k obnovené databázi nebo přidání uživatele do databáze se může zobrazit následující chybová zpráva:
    Microsoft SQL-DMO (ODBC SQLState: 42000) Error 15023: User or role '%s' already exists in the current database. (Chyba 15023: Uživatel nebo role %s již v aktuální databázi existuje.)
  • Uživatelé mohou mít oprávnění k objektům, ke kterým dříve neměli.

Příčina

Uživatelské přihlašovací informace jsou uloženy v tabulce syslogins v databázi master. Změnou serverů nebo změnou těchto informací novým vytvořením nebo obnovením starší verze databáze master se mohou tyto informace lišit od stavu při vytvoření zálohy uživatelské databáze. Pokud neexistují přihlašovací informace uživatele, zobrazí se při pokusu o přihlášení k serveru chybová zpráva oznamující, že přihlášení se nezdařilo. Pokud tyto informace existují, ale liší se hodnoty SUID (verze 6.x) nebo SID (verze 7.0) v tabulkách master..syslogins a sysusers v uživatelské databázi, mohou mít uživatelé jiná než očekávaná oprávnění.

Jak potíže obejít

Tyto potíže můžete vyřešit jedním z následujících postupů:
  • Pokud máte k dispozici aktuální skripty pro vytvoření přihlašovacích informací, uživatelských účtů a oprávnění, odstraňte aktuální informace a vytvořte je znovu pomocí těchto skriptů.
  • K obnovení relací mezi tabulkami syslogins, sysusers a sysalternates můžete použít uloženou proceduru sp_change_users_login. Tato procedura ovšem může udělit uživatelům větší oprávnění než je žádoucí. Spuštění procedury s možností Report vytvoří seznam uživatelů, kteří budou změněni. Poté byste měli zkontrolovat, jestli oprávnění daných uživatelů jsou správná. Uložená procedura sp_change_users_login nedokáže odstranit potíže s oprávněními vzniklé tím, že v databázi, kam je záloha obnovována, byly uživatelské účty vytvořeny v jiném pořadí.
  • Před načtením uživatelské databáze obnovte zálohu databáze master z okamžiku, kdy byla vytvořena záloha uživatelské databáze. Takto zajistíte, že všechny uživatelské informace v uživatelských databázích budou shodné s tabulkou syslogins v databázi master.

    Upozornění : Databáze master obsahuje informace týkající se celého serveru a ovlivňuje všechny databáze na serveru. Obnovením databáze master může dojí ke ztratě dalších uživatelských ID anebo databází nebo jejich oprávnění. Všechny změny provedené v databázi master od okamžiku zálohování budou ztraceny. Tento postup použijte pouze tehdy, pokud jste si jisti, že záloha databáze master obsahuje správné informace dané uživatelské databáze a všech dalších databází na serveru.
  • Pro kopírování přihlašovacích informací použijte program Transfer Manager (verze 6.x) nebo DTS (verze 7.0). Hesla nebudou použitím tohoto postupu přenesena.
  • Obraťte se na poskytovatele služeb odborné pomoci.

Vlastnosti

ID článku: 168001 - Poslední aktualizace: 7. ledna 2004 - Revize: 3.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Klíčová slova: 
kbprb kbusage KB168001

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com