2010-06-29 60 views
78

是否有SQL Server命令將單個數據庫的用戶連接到同名數據庫服務器的登錄名?如何將現有的SQL Server登錄名連接到同名的現有SQL Server數據庫用戶

這裏的例子:

數據庫服務器 - 默認實例 數據庫:TESTDB

服務器登錄 - 爲TestUser 上TESTDB現有用戶 - 爲TestUser

如果我試圖讓TestUser用戶登錄用戶TestDB數據庫的「用戶,組或角色」已經存在。

有沒有人知道一個簡單的方法來分配用戶登錄?

回答

147

方法是使用ALTER USER

ALTER USER OrphanUser WITH LOGIN = correctedLoginName 
+0

這是每個SQL2008的新功能嗎? – jkelley 2010-06-29 20:27:20

+0

自SQL Server 2005以來.Gratzy的鏈接實際上是指這一點。 – gbn 2010-06-29 20:28:39

+1

這裏是ref:http://msdn.microsoft.com/en-us/library/ms176060.aspx – jkelley 2010-06-29 20:38:00

5

我認爲這是sp_change_users_login。已經有一段時間了,但我在分離和重新附加數據庫時曾這樣做過。

+0

謝謝你 - 忘了這一點SP ...工作就像一個魅力 – jkelley 2010-06-29 20:22:54

+1

如果SQL登錄使用的Windows用戶登錄創建,然後的sp_change_users_login不會工作 - 今天我遇到了這個問題,引導我回到這個問題。 https://msdn.microsoft.com/en-us/library/ms174378.aspx – 2016-10-19 19:13:42

+0

此方法現在不贊成使用['ALTER USER'方法,上面](https://stackoverflow.com/a/3144472/542251) – Liam 2018-02-06 15:40:39

2

我已經使用sp_change_users_logi n過程來完成,我認爲,這種情況。

相關問題