我执行了以下脚本来创建具有有限权限的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的有效角色和权限?
答案 0 :(得分:0)
您是对的,Azure SQL DB上没有fn_my_permissions。您可以调用select HAS_PERMS_BY_NAME(db_name(),' DATABASE' SELECT')或您要检查的其他权限,以直接检查是否授予特定权限或通过角色。