Мне это обычно бывает нужно после восстановления БД из бэкапа на другом сервере. В поднятой БД юзеры оказываются не привязанными ни к каким логинам. Если открыть свойства, видим, что поле "Имя входа" (логин) пустое.
Интересно, что предварительное создание на другом сервере таких же логинов, которые были на исходном, не помогает. Юзеры в поднимаемой БД сами к ним не привязываются.
Итак, хотим привязать некоторого уже существующего юзера в БД к некоторому существующему имени входа (логину) сервера. Делается просто:
Здесь 'Update_One' — константа, задающая нужный режим работы процедуры.
Интересно, что предварительное создание на другом сервере таких же логинов, которые были на исходном, не помогает. Юзеры в поднимаемой БД сами к ним не привязываются.
Итак, хотим привязать некоторого уже существующего юзера в БД к некоторому существующему имени входа (логину) сервера. Делается просто:
EXEC sp_change_users_login 'Update_One', 'YourUserName', 'YourLoginName';
Здесь 'Update_One' — константа, задающая нужный режим работы процедуры.