如何解决使用通用查询检查用户是否具有为 MS SQL Server 和 Azure Sql 服务器创建数据库权限
您能否指导我检查用户是否必须使用通用查询为 MS SQL Server 和 Azure Sql 服务器创建数据库权限?
尝试了此线程中提到的查询 How to view the roles and permissions granted to any database user in Azure SQL server instance?
以下仅适用于普通 MS SQL 服务器,但始终为 Azure Sql 服务器返回 0 https://docs.microsoft.com/en-us/sql/t-sql/functions/is-srvrolemember-transact-sql?view=sql-server-ver15
有人可以帮我吗?
解决方法
在 Azure sql 或本地 sql server 中,我们可以使用以下脚本查询所有数据库用户的所有权限。
use master;
SELECT DISTINCT pr.principal_id,pr.name AS [UserName],pr.type_desc AS [User_or_Role],pr.authentication_type_desc AS [Auth_Type],pe.state_desc,pe.permission_name,pe.class_desc,o.[name] AS 'Object'
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
LEFT JOIN sys.objects AS o on (o.object_id = pe.major_id)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。