我在AWS中運行了RDS實例,運行SQL Server 2012.我可以很好地登錄並創建新的數據庫(通過SSMS和sqlcmd.exe)。AWS RDS爲數據庫創建用戶
我面臨的問題是,由於在通過RDS創建過程設置「godmode」帳戶時沒有足夠的權限,我無法爲每個應用程序數據庫創建用戶。
我在此RDS實例上有> 5個應用程序及其數據庫,並且要設置它以便每個應用程序都擁有自己的登錄名,並且只是用戶自己的數據庫。
我可以創建登錄名,但我不能將該登錄名作爲用戶分配給數據庫。這是不能做到的嗎?我知道RDS有限制,但這看起來應該是可能的。我的用例不可能是獨一無二的!
我試圖建立用戶像這樣:
DECLARE @Username nvarchar(255) = 'test1';
DECLARE @Password nvarchar(255) = 'sUp3rS3crEt';
USE [Application1]
IF NOT EXISTS
(SELECT name
FROM master.sys.server_principals
WHERE name = @Username)
BEGIN
EXEC sp_addlogin @Username, @Password
END
BEGIN
EXEC sp_adduser @Username, @Username, 'db_owner'
END
其失敗的sp_adduser與
Msg 15247, Level 16, State 1, Procedure sp_adduser, Line 35 [Batch Start Line 0]
User does not have permission to perform this action.
嘗試手動創建一個用戶通過SSMS的權限問題也會失敗。
這是RDS與Sql Server 2012的實際預期行爲嗎?
這似乎是'WITH DEFAULT_SCHEMA = [DBO]'的把戲一樣。謝謝! –