PRB: "Odstraňování osamoceného Users" téma v Books Online je neúplné

Příznaky

Při obnovení zálohy databáze na jiný server, může docházet k potížím s osamocené uživatelů. V SQL Server Books Online téma Řešení potíží s osamocené uživatelů osnovy není přesný postup při řešení tohoto problému.

Tento článek popisuje, jak lze vyřešit osamocené uživatelů.

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti uvedených na začátku tohoto článku.

Další informace

Přestože podmínky přihlášení a uživatel se často zaměňují, se velmi liší. Přihlašovací jméno se používá k ověření uživatele a databáze uživatelský účet se používá pro ověření a oprávnění přístupu k databázi. Přihlášení jsou přiřazeny uživatelům podle identifikátoru zabezpečení (SID). Přihlášení je vyžadován pro přístup k serveru SQL Server. Proces ověření platí zvláštní přihlášení se nazývá "ověřování". Toto přihlášení je nutné přiřadit uživateli databáze serveru SQL Server. Je uživatelský účet použít k řízení činností prováděných v databázi. Pokud žádný uživatelský účet existuje v databázi pro konkrétní přihlášení, uživatel, který používá toto přihlášení nelze přístup k databázi, přestože uživatel pravděpodobně moci připojit k serveru SQL Server. Jedinou výjimku v této situaci je pokud databáze obsahuje uživatelský účet "guest". Přihlášení, který nemá přidružený uživatelský účet je namapován na uživatele guest. Naopak pokud uživatel databáze existuje, ale není k dispozici žádné přihlašovací spojené, uživatel není schopen se přihlásit k serveru SQL Server.


Po obnovení databáze na jiný server obsahuje sadu uživatelů a oprávnění, ale pravděpodobně není žádné odpovídající přihlášení nebo přihlášení nemusí být přidružen stejným uživatelům. Tento stav bývá označován jako s "osamocené uživatelů."

Poradce při potížích osamocených uživatele

Při obnovení zálohy databáze na jiný server, může docházet k potížím s osamocené uživatelů. Následující scénář ukazuje tento problém a ukazuje, jak problém vyřešit.
  1. Přidat přihlašovací jméno do hlavní databáze a zadat výchozí databázi jako Northwind:
    Use master go sp_addlogin 'test', 'password', 'Northwind'
  2. Udělit přístup uživateli, který jste právě vytvořili:
    Use Northwind go sp_grantdbaccess 'test'
  3. Zálohování databáze.
    BACKUP DATABASE NorthwindTO DISK = 'C:\MSSQL\BACKUP\Northwind.bak'

  4. Obnovení databáze na jiný server SQL Server:
    RESTORE DATABASE NorthwindFROM DISK = 'C:\MSSQL\BACKUP\Northwind.bak'

    Obnovené databáze obsahuje uživatele s názvem "test" bez odpovídající přihlášení, což má za následek "test" budou osamocené.
  5. Nyní rozpoznat osamocené uživatelům, spusťte tento kód:
    Use Northwind go sp_change_users_login 'report'
    Výstup se zobrazí seznam všech přihlášení, které mají Neshoda mezi položkami v systémové tabulce sysusers databáze Northwind a sysxlogins systémové tabulky v hlavní databázi.

Postup, jak vyřešit osamocené uživatelů

  1. Spusťte následující příkaz pro osamocené uživatele z předchozího kroku:
    Use Northwindgo
    sp_change_users_login 'update_one', 'test', 'test'

    To s relinks serveru přihlášení "test" Northwind databáze uživatel "test". Sp_change_users_login uložené procedury, můžete také provést aktualizaci všech osamocené uživatelů s parametrem "auto_fix", ale to není doporučeno, protože SQL Server se pokusí porovnat a přihlášení uživatele podle názvu. Většině případů to funguje; však pokud uživatel přidružen nesprávný login, uživatel pravděpodobně nesprávná oprávnění.
  2. Po spuštění kódu v předchozím kroku má uživatel přístup do databáze. Uživatel může potom změnit heslo pomocí sp_password uložené procedury:
    Use master go
    sp_password NULL, 'ok', 'test'

    Tato uložená procedura nelze použít pro účty zabezpečení v systému Microsoft Windows NT. Uživatelé připojující se k serveru SQL server prostřednictvím jejich účtu sítě systému Windows NT jsou ověřeni systémem Windows NT; v systému Windows NT, proto lze pouze změnit svá hesla.


    Heslo pro přihlášení jiného uživatele můžete změnit pouze členové sysadmin role.

Odkazy

Další informace o tom, jak vyřešit problémy oprávnění při přesunutí databáze mezi servery klepněte na následující číslo článku znalostní báze Microsoft Knowledge Base:

240872 INF: jak vyřešit oprávnění problémy při databáze je přesunuta mezi servery SQL
Vlastnosti

ID článku: 274188 - Poslední kontrola: 12. 1. 2017 - Revize: 1

Váš názor