Sql server 使用公共查询检查用户是否具有MS SQL Server和Azure SQL Server的创建数据库权限

Sql server 使用公共查询检查用户是否具有MS SQL Server和Azure SQL Server的创建数据库权限,sql-server,azure,azure-sql-database,user-permissions,database-permissions,Sql Server,Azure,Azure Sql Database,User Permissions,Database Permissions,您能否指导我检查用户是否必须使用公共查询为MS SQL Server和Azure SQL Server创建数据库权限 已尝试此线程中提到的查询 以下仅适用于普通MS SQL server,但对于Azure SQL server,它始终返回0 有人能帮我吗?更新: 以下脚本将按如下方式返回用户权限: 在Azure sql或prem sql server上,我们可以使用以下脚本查询所有数据库用户的所有权限 使用master; 选择不同的pr.principal\u id,pr.name作为[

您能否指导我检查用户是否必须使用公共查询为MS SQL Server和Azure SQL Server创建数据库权限

已尝试此线程中提到的查询

以下仅适用于普通MS SQL server,但对于Azure SQL server,它始终返回0


有人能帮我吗?

更新:
以下脚本将按如下方式返回用户权限:


在Azure sql或prem sql server上,我们可以使用以下脚本查询所有数据库用户的所有权限

使用master;
选择不同的pr.principal\u id,pr.name作为[用户名],pr.type作为[用户或角色],pr.authentication作为[身份验证类型],pe.state作为[身份验证类型],
pe.permission\u name,pe.class\u desc,o.[name]作为“对象”
从sys.database_主体作为pr
将sys.database\u权限作为pe.grantee\u principal\u id=pr.principal\u id上的pe加入
左连接sys.objects作为o on(o.object\u id=pe.major\u id)

到目前为止您有什么代码?Xu检查了上面的查询,没有按照我的预期工作。此查询获取本地SQL server.Hi@ethant中的架构名称而不是用户名。您是否切换到
主机
db?您好。我已经更新了我的答案。:)顺便问一下,您的SQL Server的哪个版本?是的,我切换到master db,我正在使用2018