úterý 18. ledna 2011

Chybný uživatel při přesunu DB (MS SQL)

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