我正在使用我的SQL部署腳本。我有一個名爲「User123」的登錄名,我已經添加到我當前的數據庫,但我有一個存儲過程,記錄信息到MyDB,我需要在MyDB的User123權限,所以我創建了一個用戶在MyDB的權限,但是我怎麼腳本,而不是手動添加用戶..將用戶腳本編寫到特定數據庫?
我有這個目前爲止,但似乎無法弄清楚如何將其添加到其他數據庫,「MyDB」可以硬編碼,因爲只會有1在每個服務器上,但我不能硬編碼在
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'User123') BEGIN CREATE USER [User123] FOR LOGIN [User123] WITH DEFAULT_SCHEMA=[dbo] END GO
當前數據庫上這僅運行當前數據庫進出口運行腳本,怎麼辦我使它對其他數據庫運行。
例..
MYDB
安全
User123
DB1
安全
User123
我想一個腳本,將用戶添加到這兩個當前數據庫和「MYDB」,而無需手動切換數據庫
我通常使用INSERT INTO sys.database_pricipals其中name = N 'user123' 只是把插入行兩次,每個數據庫一次? 也許我誤解了這個問題? –
@JohnnyCraig:難道這個USE仍然是相關的嗎?或者至少INSERT必須是完全合格的 - 即。 INSERT INTO MyDB.sys.database_principals ...但問題是在使用INSERT方法時是否所有字段都設置正確。你有沒有驗證過這個? –
2011-12-21 08:57:17