Як підключити існуючий логін SQL Server до наявного користувача з базою даних SQL Server з тим самим іменем


124

Чи є команда SQL Server для підключення користувача однієї бази даних до входу для однойменного сервера баз даних?

Наприклад:

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

Вхід сервера - TestUser
Існуючий користувач на TestDB - TestUser

Якщо я спробую зробити TestUserвхід користувачем TestDBбази даних, "Користувач, група чи роль" вже існує.

Хто - небудь знає про простий спосіб , щоб призначити БД користувача на сервері входу в систему ?

Відповіді:


229

Новий шлях (SQL 2008 року) є використання ALTER USER

ALTER USER OrphanUser WITH LOGIN = correctedLoginName;

Це нове для SQL2008?
jkelley

2
З часу SQL Server 2005. Посилання Gratzy стосується цього насправді.
gbn

Я щойно використовував це в SQL Server 2012 і можу підтвердити, що він працює
Ubercoder

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.