权限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数据库的安全性和可移植性。


数据运维技术 » 权限MSSQL查看用户权限的方法简介(mssql 查看用户)