sql server查看用户权限
时间: 2023-06-29 22:09:02 浏览: 65
可以使用以下脚本查看 SQL Server 中的用户权限:
```sql
-- 查看登录名为 'username' 的用户权限
EXEC sp_helprotect NULL, 'username'
-- 查看数据库中所有用户的权限
SELECT USER_NAME(grantee_principal_id) AS UserName,
permission_name AS Permission,
state_desc AS PermissionState
FROM sys.database_permissions
ORDER BY UserName, Permission
```
其中,第一个脚本可以查看指定登录名的用户在数据库中的权限,第二个脚本可以查看数据库中所有用户的权限。
相关问题
sql语句查看sqlserver用户权限
可以使用以下 SQL 查询语句来查看 SQL Server 数据库用户的权限:
```sql
USE [database_name]
GO
SELECT
[UserName] = [users].[name],
[RoleName] = [roles].[name]
FROM
[sys].[database_principals] AS [users]
JOIN
[sys].[database_role_members] AS [links] ON [links].[member_principal_id] = [users].[principal_id]
JOIN
[sys].[database_principals] AS [roles] ON [roles].[principal_id] = [links].[role_principal_id]
WHERE
[users].[type] = 'S' -- SQL Server user
ORDER BY
[UserName],
[RoleName];
```
将 `database_name` 替换为你要查询的数据库名称。这个查询语句将返回一个结果集,其中包含每个 SQL Server 用户的名称和他们所属的角色名称。
sql server 禁止用户权限deny
可以使用SQL Server中的DENY语句来禁止用户权限。DENY语句可以阻止用户执行特定的操作,即使该用户具有GRANT权限。下面是一个示例,演示如何使用DENY语句来禁止用户对表的SELECT权限:
```sql
DENY SELECT ON table_name TO user_name;
```
上述语句将禁止用户user_name对表table_name执行SELECT操作。如果用户尝试执行SELECT操作,则会收到一个错误消息,指示该操作被拒绝。