Как подключить существующую учетную запись SQL Server к существующему пользователю базы данных SQL Server с тем же именем


125

Есть ли команда SQL Server для подключения пользователя одной базы данных к имени входа на сервер базы данных с тем же именем?

Например:

Сервер базы данных -
База данных экземпляра по умолчанию : TestDB

Вход на сервер - TestUser
Существующий пользователь на TestDB - TestUser

Если я попытаюсь сделать TestUserлогина пользователем TestDBбазы данных, «Пользователь, группа или роль» уже существует.

Кто-нибудь знает простой способ назначить пользователя БД для входа на сервер ?

Ответы:


230

Новый путь (SQL 2008 года) является использование ALTER USER

ALTER USER OrphanUser WITH LOGIN = correctedLoginName;

Это новое для SQL2008?
jkelley

2
Начиная с SQL Server 2005. Ссылка Gratzy действительно относится к этому.
gbn

Я только что использовал это в SQL Server 2012 и могу подтвердить, что он работает
Ubercoder 01

6

Я думаю, что это так sp_change_users_login. Прошло немного времени, но я делал это при отключении и повторном подключении баз данных.


1
Если учетная запись SQL была создана с использованием учетной записи пользователя Windows, процедура sp_change_users_login не будет работать - я столкнулся с этим сегодня, что привело меня к этому вопросу. msdn.microsoft.com/en-us/library/ms174378.aspx
Том Миллер,

теперь этот метод устарел в пользу ALTER USERметода, приведенного выше
Лиам

@liam, вы действительно просто проголосовали против этого ответа, которому 8 лет, и сослались на принятый ответ, которому также 8 лет, который уже содержит информацию, которая устарела?
Gratzy

2

Думаю, я использовал эту sp_change_users_loginпроцедуру для реализации этого сценария.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.