25
2023
10
16:12:12

SQL Server查询角色/用户

SQL Server 查询用户

在SQL Server中,用户是指被授权访问数据库资源的实体。用户可以是数据库管理员、应用程序用户或其他具有特定权限的个人或组织。在本文中,我们将探讨如何在SQL Server中查询用户。

查询系统用户

在SQL Server中,系统用户是指被用于管理和维护数据库服务器的特殊用户。查询系统用户可以帮助我们了解当前系统中存在的用户及其权限。

要查询SQL Server中的系统用户,我们可以使用以下查询:

```sql
SELECT name, type_desc, create_date, modify_date
FROM sys.server_principals
WHERE type IN ('S', 'U')1.2.3.4.
这个查询将返回`sys.server_principals`系统视图中所有类型为'S'(SQL登录)和'U'(Windows用户或组)的用户的名称、类型描述、创建日期和修改日期。

## 查询数据库用户

数据库用户是指被授权访问和操作特定数据库的用户。查询数据库用户可以帮助我们了解数据库中的用户及其权限。

要查询SQL Server中的数据库用户,我们可以使用以下查询:

```markdown
```sql
SELECT name, type_desc, create_date, modify_date
FROM sys.database_principals
WHERE type IN ('S', 'U', 'G')1.2.3.4.5.6.7.8.9.10.11.12.13.14.
这个查询将返回`sys.database_principals`系统视图中所有类型为'S'(SQL登录)、'U'(Windows用户或组)和'G'(Windows组)的用户的名称、类型描述、创建日期和修改日期。

## 查询用户角色

用户角色是一种特殊的用户组,可以用于管理和分配权限。查询用户角色可以帮助我们了解用户所属的角色及其权限。

要查询SQL Server中的用户角色,我们可以使用以下查询:

```markdown
```sql
SELECT r.name AS role_name, p.name AS user_name, p.type_desc
FROM sys.database_role_members m
JOIN sys.database_principals r ON m.role_principal_id = r.principal_id
JOIN sys.database_principals p ON m.member_principal_id = p.principal_id
WHERE r.type = 'R'1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.
 
这个查询将返回`sys.database_role_members`、`sys.database_principals`和`sys.database_principals`系统视图中所有角色的名称、用户的名称和用户类型。

## 查询用户权限

用户权限是指被授权用户可以执行的操作。通过查询用户权限,我们可以了解用户在数据库中的操作权限。

要查询SQL Server中的用户权限,我们可以使用以下查询:

```markdown
```sql
SELECT p.name AS user_name, p.type_desc, pe.state_desc, pe.permission_name
FROM sys.database_permissions pe
JOIN sys.database_principals p ON pe.grantee_principal_id = p.principal_id
WHERE p.type IN ('S', 'U', 'G')1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.
这个查询将返回`sys.database_permissions`和`sys.database_principals`系统视图中所有被授权用户的名称、用户类型、权限状态和权限名称。

通过以上查询,我们可以更好地了解SQL Server中的用户、角色和权限。这些信息对于数据库管理和优化非常重要,因为它们帮助我们确保只有授权用户能够访问和操纵数据库。

希望本文能够帮助您了解SQL Server中的用户查询。如果您想了解更多关于SQL Server的信息,请查阅官方文档。

查询用户角色:

select UserName = u.name,DbRole = g.name
from sys.database_principals u, sys.database_principals g, sys.database_role_members m 
where g.principal_id = m.role_principal_id 
and u.principal_id = m.member_principal_id 
order by 1, 2 
go
select DbRole = g.name, MemberName = u.name, MemberSID = u.sid  
from sys.database_principals u, sys.database_principals g, sys.database_role_members m  
where g.principal_id = m.role_principal_id  
and u.principal_id = m.member_principal_id  
order by 1, 2  
go
select SrvRole = g.name, MemberName = u.name, MemberSID = u.sid  
from sys.server_principals u, sys.server_principals g, sys.server_role_members m  
where g.principal_id = m.role_principal_id  
and u.principal_id = m.member_principal_id  
order by 1, 2  
go

看服务器角色:

select 用户名 = u.name,管理员权限 = g.name,是否在用 = u.is_disabled,MemberSID = u.sid  
from sys.server_principals u, sys.server_principals g, sys.server_role_members m  
where g.principal_id = m.role_principal_id  
and u.principal_id = m.member_principal_id  
and g.name = 'sysadmin'
order by 1, 2
go




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/4477.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: