gpt4 book ai didi

sql-server - 列出特定数据库上的所有用户

转载 作者:行者123 更新时间:2023-12-04 05:08:15 25 4
gpt4 key购买 nike

我想列出特定数据库上的所有用户。

当我使用 sys.server_principals 或 sys.sysmembers 系统 View 时,它不会列出 SQL Server Management Studio 中对象浏览器中安全 -> 用户列表下出现的所有用户。

这是我的尝试:

USE [Database_Name];

SELECT user_name([memberuid]) as [Username]
FROM [sys].[sysmembers];

USE [Database_Name];

SELECT [name]
FROM [sys].[server_principals];

谢谢!

最佳答案

你不应该使用 sysmemberssysusers为此 - 所有 sys___ View 是向后兼容的 View ,(a) 将在某些时候从产品中删除,(b) 不一定包含当前信息。

如果您正在寻找数据库主体,请不要查看 sys.server_principals ,看 sys.database_principals .

USE your_database;
GO

SELECT name, create_date, type_desc
FROM sys.database_principals
WHERE is_fixed_role = 0;

这将包括 guest 之类的内容, INFORMATION_SCHEMA , dbo , publicsys .但是它不会包括像 sa 这样的帐户。它们对数据库具有固有的权限,而无需明确定义主体。

关于sql-server - 列出特定数据库上的所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15227392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com