我执行了以下脚本来创建具有有限权限的 mydb_user 和 mydb_admin。
第 1 步:在 azure masterdb 上运行这些脚本
CREATE LOGIN mydb_admin
WITH PASSWORD = 'nnn'
GO
CREATE LOGIN mydb_user
WITH PASSWORD = 'nnnnnnnnn'
GO
第 2 步:在实际的 Azure 数据库(例如 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 上 dbuser mydb_user、mydb_admin 的有效角色和权限?
最佳答案
你是对的,Azure SQL DB 上不存在 fn_my_permissions。您可以调用 select HAS_PERMS_BY_NAME (db_name(), 'DATABASE', 'SELECT') 或您想要检查的其他权限,来检查是否直接或通过角色授予特定权限。
关于database - 查询以获取授予 Azure SQL 数据库的角色和权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35138595/