如何查询Sql server数据库连接的权限
时间: 2024-01-12 20:02:41 浏览: 40
要查询 SQL Server 数据库连接的权限,可以使用以下步骤:
1. 连接到 SQL Server 数据库引擎,并在查询窗口中运行以下 Transact-SQL 命令:
```
SELECT
p.name AS '登录名',
sp.name AS '登录类型',
dp.name AS '数据库用户',
dp.type_desc AS '用户类型',
dp.default_schema_name AS '默认模式',
dp.create_date AS '创建时间',
dp.modify_date AS '修改时间',
dp.is_disabled AS '是否禁用'
FROM
sys.database_principals AS dp
JOIN sys.server_principals AS sp ON dp.sid = sp.sid
JOIN sys.server_role_members AS srm ON sp.principal_id = srm.member_principal_id
JOIN sys.server_principals AS p ON srm.role_principal_id = p.principal_id
WHERE
p.type_desc IN ('SQL_LOGIN', 'WINDOWS_LOGIN')
ORDER BY
p.name;
```
2. 运行查询后,将显示登录名、登录类型、数据库用户、用户类型、默认模式、创建时间、修改时间和是否禁用等信息。
3. 如果想查看特定用户的权限,可以使用以下命令:
```
EXEC sp_helprotect NULL, 'dbo', NULL, 'grant'
```
其中,第一个参数为对象名称,第二个参数为架构名称,第三个参数为用户名,第四个参数为权限类型。该命令将显示指定用户拥有的所有权限。