Přejmenování uživatelů v ActiveDirectory

PříspěvekNapsal: 20.11.2010 19:57
od jiri.dolezal
Dojde-li k přejmenování doménových uživatelů v ActiveDirectory (pozor, nikoliv k migraci do nové domény), MS SQL Server nadále respektuje definované přístupy dohoto uživatele k jednotlivým objektům. Je to dáno tím, že unikátním identifikátorem uživatele na úrovni MS SQL Server je SID, nikoliv přihlašovací uživatelské jméno.

V Helios Orange je unikátním identifikátorem uživatele přihlašovací jméno - login. Po přejmenování doménového uživatele se k němu proto HeO chová jako k nově založenému uživateli. Z původního uživatele si přebírá pouze přístup k jednotlivým databázím (ten je definován na úrovni SQL Serveru), práva a uživatelská nastavení však nikoliv.

Následující postup v teoretické rovině nastiňuje jak tuto situaci řešit:

Na MS SQL Serveru

Následující skript zajistí dogenerování uživatele do seznamu uživalelů "nulté" databáze HeO (TabUserCfg):
Kód: Vybrat vše
ALTER LOGIN [DOMENA\STARY_LOGIN] WITH NAME = [DOMENA\NOVY_LOGIN]

Pro každou databázi

  1. Možnosti > Konfigurace / správa systému > Uživatelé
  2. Stisknout Oprava a následně OK na všech nově založených uživatelích - založí se do tabulky pro definici práv a nastavení (TabUziv)
  3. Zkopírovat práva na moduly a funkce pomocí standardní funkce Kopie práv...
  4. Nahradit nebo zkopírovat uživatelská nastavení - např. pomocí nějakého řešení typu Kopie a přenos nastavení a práv

Dále spustit skript po záměnu jména uživatele v databázi a přiřazení správného schematu:
Kód: Vybrat vše
ALTER USER [DOMENA\STARY_LOGIN]
   WITH NAME = [DOMENA\NOVY_LOGIN]
   
ALTER USER [DOMENA\NOVY_LOGIN]
   WITH DEFAULT_SCHEMA = [DOMENA\NOVY_LOGIN]


V "nulté" databázi
Pokud nechcete zachovat po původním uživateli žádné stopy. Spusťte nad ním jsouce přihlášení v "nulté" databázi akci Smazat z SQL Serveru.