AWS RDS - Microsoft SQL Server Express - 无法添加有权查看/创建数据库的用户

Buc*_*non 1 sql-server permissions relational-database amazon-web-services amazon-rds

我在我的 Amazon Web Services 帐户上创建了一个 SQL Server Express。在此过程中,我必须创建一个主用户名/密码。使用这些凭据,我可以创建和查看服务器上的任何数据库以及其他登录信息。

我创建了一个单独的登录名,但根据 AWS 文档,它不会让我分配以下任何角色:

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html 以下服务器级角色目前在 Amazon RDS中不可用:

bulkadmin
dbcreator
diskadmin
securityadmin
serveradmin
sysadmin
Run Code Online (Sandbox Code Playgroud)

如何在此数据库上创建单独的用户帐户,并具有对数据库的完全访问权限?到目前为止,创建的任何新用户都无法创建数据库或查看任何现有数据。

Joh*_*ley 6

以下是您可以在 Microsoft SQL Server Management Studio 中运行的一系列命令,以创建具有所需权限的用户。

将 NewUserName 替换为新用户的名称。用新密码替换 myPassword。

USE master;
 GO

CREATE LOGIN [NewUserName]
 WITH PASSWORD = N'myPassword',
 CHECK_POLICY = OFF,
 CHECK_EXPIRATION = OFF;
 GO

GRANT ALTER ANY CONNECTION TO [NewUserName] WITH GRANT OPTION;
 GRANT ALTER ANY LINKED SERVER TO [NewUserName] WITH GRANT OPTION;
 GRANT ALTER ANY LOGIN TO [NewUserName] WITH GRANT OPTION;
 GRANT ALTER SERVER STATE TO [NewUserName] WITH GRANT OPTION;
 GRANT ALTER TRACE TO [NewUserName] WITH GRANT OPTION;
 GRANT CREATE ANY DATABASE TO [NewUserName] WITH GRANT OPTION;
 GRANT VIEW ANY DATABASE TO [NewUserName] WITH GRANT OPTION;
 GRANT VIEW ANY DEFINITION TO [NewUserName] WITH GRANT OPTION;
 GRANT VIEW SERVER STATE TO [NewUserName] WITH GRANT OPTION;

EXEC sp_MSforeachdb '
 DECLARE @name VARCHAR(500)
 SET @name=''?''
 IF DB_ID(@name) > 5
 BEGIN
 USE [?]
 CREATE USER NewUserName FOR LOGIN NewUserName;
 EXEC sp_addrolemember ''db_owner'',''NewUserName''
 END'
Run Code Online (Sandbox Code Playgroud)