0

我需要为两次登录提供对特定数据库的访问权限,但我无法找到正确的查询,以下是不正确的查询,如果有人可以帮助我正确的查询会有所帮助

ALTER AUTHORIZATION ON DATABASE::<DBName> TO {[USER1] AND [USER2]} ;
4

1 回答 1

1

不知道你用的是哪个数据库。我一直在为 DB SQL Azure 做类似的工作。首先,您需要在 SQL 服务器级别创建登录名和用户:

CREATE LOGIN someLogin WITH password='<Password>';
CREATE USER someUserName FROM LOGIN someLogin ;
GO

其次,在 SQL 服务器级别为用户分配一个角色:

EXEC sp_addrolemember 'dbmanager', 'someLogin';
EXEC sp_addrolemember 'loginmanager', 'someLogin ';
GO

之后,您需要为其创建一个数据库和用户:

CREATE DATABASE SomeDB;
GO

最后,您可以在数据库级别创建一些用户并为其分配角色。为此,您需要在上面创建的数据库的上下文中运行查询:
CREATE USER [someDBUserName] FOR LOGIN [someLogin];
GO

如有必要,您可以为此用户分配角色:

EXEC sp_addrolemember 'db_datareader', 'someDBUserName';
GO

对于 SQL AZURE,可以使用以下数据库级角色:
db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter.

于 2016-07-07T07:03:56.273 回答