查询以获取授予Azure SQL数据库的角色和权限?

时间:2016-02-01 19:24:22

标签: database azure azure-sql-database

我执行了以下脚本来创建具有有限权限的mydb_user和mydb_admin。

第1步:将这些脚本放在azure masterdb上

CREATE LOGIN mydb_admin 
WITH PASSWORD = 'nnn' 
GO
CREATE LOGIN mydb_user 
WITH PASSWORD = 'nnnnnnnnn' 
GO

步骤2:在实际的天蓝色数据库上运行以下脚本,例如,mydb

CREATE USER mydb_admin  FROM LOGIN mydb_admin ;
EXEC sp_addrolemember 'db_datareader', 'mydb_admin';
EXEC sp_addrolemember 'db_datawriter', 'mydb_admin';
GRANT CONNECT TO mydb_admin;
GRANT SELECT TO mydb_admin;
GRANT EXECUTE ON [dbo].[procDumpRowsInto_De_Common] TO [mydb_admin] AS [dbo]

CREATE USER mydb_user FROM LOGIN mydb_user;
EXEC sp_addrolemember 'db_datareader', 'mydb_user';
EXEC sp_addrolemember 'db_executor', 'mydb_user';
GRANT CONNECT TO mydb_user;
GRANT SELECT TO mydb_user;

现在我想看看是否正确设置了角色和权限。有没有我可以运行查询的查询?例如,我想在我的数据库myDb上看到dbusers mydb_user,mydb_admin的有效角色和权限?

1 个答案:

答案 0 :(得分:0)

您是对的,Azure SQL DB上没有fn_my_permissions。您可以调用select HAS_PERMS_BY_NAME(db_name(),' DATABASE' SELECT')或您要检查的其他权限,以直接检查是否授予特定权限或通过角色。