Teď jste offline a čekáte, až se znova připojí internet.

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

Tento článek byl dříve publikován CZ168001
Příznaky
Pokud je záloha uživatelské databáze serveru SQL Server obnovena do jinéhoserveru SQL Server (např. do serveru pro okamžitou zálohu) nebo do původníhoserveru po novém vytvoření nebo načtení starší verze databáze master, může dojítke 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 sysloginsv databázi master. Změnou serverů nebo změnou těchto informací novýmvytvořením nebo obnovením starší verze databáze master se mohou tytoinformace 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í kontrola: 01/07/2004 18:25:00 - Revize: 3.1

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

  • kbprb kbusage KB168001
Váš názor
html>