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

125

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

Например:

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

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

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

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

jkelley
источник

Ответы:

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. Прошло немного времени, но я делал это при отключении и повторном подключении баз данных.

Gratzy
источник
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процедуру для реализации этого сценария.

joelt
источник