Копия базы данных между серверами - логины пользователя повреждены - PullRequest
0 голосов
/ 17 марта 2010

Когда я копирую базу данных с одного сервера на другой с помощью резервного копирования и восстановления, я обнаруживаю, что мне нужно заново создать пользователей в базе данных. Я не могу войти как они сразу после копирования - я не могу открыть базу данных по умолчанию, когда база данных, которая была только что скопирована, является базой данных по умолчанию. Почему это? Логины существуют на целевом сервере копирования.

1 Ответ

0 голосов
/ 17 марта 2010

Логины на самом деле не существуют на целевом сервере копирования - у них просто логины с одинаковыми именами. Внутренне все имена входа - это SID, и, поскольку SID для «joesmith» на целевом сервере отличается от SID для «joesmith» на исходном сервере, они не считаются одним и тем же пользователем, даже если имя совпадает.

После восстановления на целевом сервере необходимо запустить sp_change_users_login для сломанных пользователей.

http://www.mssqltips.com/tip.asp?tip=1590

...