Azure SQL数据库:创建新库所需角色及权限校验方法咨询
Azure SQL数据库创建权限的角色分配与校验方法
一、角色分配
Azure SQL数据库没有传统SQL Server的dbcreator服务器角色,要让用户具备创建新数据库的权限,需将其添加到master数据库的dbmanager数据库级角色中。执行以下SQL语句完成分配(需连接master数据库操作):
ALTER ROLE dbmanager ADD MEMBER [目标用户名];
二、权限校验语句
Azure SQL不支持针对服务器角色的IS_SRVROLEMEMBER函数,需使用针对数据库角色的IS_ROLEMEMBER函数来校验权限,同样需要连接master数据库执行:
直接SQL查询
SELECT IS_ROLEMEMBER('dbmanager') AS IS_DBCREATOR;
返回值说明:
1:用户属于dbmanager角色,具备创建数据库权限0:用户不属于该角色NULL:角色不存在或用户名无效
C#代码中的写法
string query = "SELECT IS_ROLEMEMBER('dbmanager') IS_DBCREATOR";
注意事项
- 所有涉及创建数据库、角色分配、权限校验的操作,都必须在连接到master数据库的前提下执行
dbmanager角色的权限包含创建、删除数据库,完全匹配你的需求
内容的提问来源于stack exchange,提问作者Abhishek Maurya
相关产品推荐
相关产品推荐

