权限MSSQL查看用户权限的方法简介(mssql 查看用户)
权限MSSQL查看用户权限的方法简介
Microsoft SQL Server(MSSQL)是一款功能强大的关系型数据库管理系统,用户可对其中的数据进行访问和管理。MSSQL中用户权限要动态设置,每个用户可能会有多个权限,因此在设置完成后还应该将用户权限查看一遍以确保其正确性,本文将介绍三种查看用户权限的方法:
1. 使用Sys.Server_Role_Members表
首先,打开MSSQL管理工具,在“新查询”窗口输入以下代码:
SELECT SRM.[name] AS [User Name], SR.[name] as [Role Name]
FROM [sys].[server_role_members] AS SRM
INNER JOIN [sys].[server_principals] AS SP ON SRM.[member_principal_id] = SP.[principal_id]
INNER JOIN [sys].[server_principals] SR ON SRM.[role_principal_id] = SR.[principal_id]
ORDER BY [User Name]
该指令会输入所有用户的名字及其所拥有的角色,即拥有的权限。
2. 通过sys.sysusers表
进入MSSQL管理工具,在新查询窗口中输入以下代码:
SELECT DISTINCT sysl.name AS ‘Login Name’, sys.name AS ‘User Name’, sysperm.permission_name AS ‘Permissions’
FROM sys.syslogins sysl
JOIN sys.sysusers sys
ON sysl.sid = sys.sid
LEFT JOIN sys.database_permissions sysperm
ON sys.uid = sysperm.grantee_principal_id
ORDER BY sys.name
点击“执行”按钮,系统会输出每个用户的名字,以及其被授予的每一种权限,包括对象权限和登录权限等等, 从而查看用户权限有多清楚。
3. 使用sp_helprotect系统存储过程
MSSQL提供了一种便捷的方法,使用sp_helprotect系统存储过程,可以查看某个用户所拥有的所有权限,输入以下指令:
EXEC sp_helprotect
即可以终端输出上述用户拥有的所有权限,包括对象权限和登录权限,十分方便。
总结:MSSQL提供了一种查看用户权限的方法,可以使用Sys.Server_Role_Members表,sys.sysusers表,以及sp_helprotect存储过程。使用这些方法可以查看所有用户的权限,确保MSSQL数据库的安全性和可移植性。