Když se přesouvá databáze MS SQL z jednoho serveru na druhý pomocí klasické operace backup -> restore, tak nastává problém s definovanými uživateli databáze, kteří nejsou vytvořeni v systémových tabulkách na novém serveru.
Problémové uživatele lze zjistit pomocí následujícího query:
USE DBname
GO
EXEC sp_change_users_login 'Report'
GO
Vypíše se seznam uživatelů s identifikátory(SID)
Dá se to obejít 2 způsoby:
1) vytvořím uživatele na novém serveru, ale nenapojím ho na databázi. Následně pomocí query:
USE DBName
GO
EXEC sp_change_users_login 'update_one', 'userName', 'userName'
GO
a tím dojde k vytvoření vazby mezi uživatelem a databází.
2) případně jednodušeji pomocí následujícího query:
USE YourDB
GO
EXEC sp_change_users_login 'Auto_Fix', 'userName', NULL, 'password'
GO
které uživatele vytvoří v případě, že není nalezen v systémové databázi a prováže ho s databází.
Žádné komentáře:
Okomentovat