小编Ale*_*lex的帖子

SQL Server 用户无法查看所有登录信息

我有一个 SQL Server 2016 实例,我刚刚注意到某些用户的某些用户登录名未列出。例如,如果我执行此查询:

select count(*) FROM sys.database_principals a where type = 'U'
Run Code Online (Sandbox Code Playgroud)

我收到的计数是1348. 但是如果我执行这个查询:

execute as user = 'some_user';
select count(*) FROM sys.database_principals a where type = 'U';
revert;
Run Code Online (Sandbox Code Playgroud)

我收到的计数为92,这意味着存在1256上述用户看不到的用户。如果我授予用户db_accessadmin数据库角色成员资格,那么他们就可以看到1348从上述查询返回的所有用户。但我不想授予db_accessadmin所有用户,因为这提供的访问权限比我想要授予的要多得多。

我已将显示的 92 个用户之一的属性与未显示的用户的属性进行了比较,但我没有注意到任何看起来允许列出该用户的属性。

我该如何允许所有用户都列在对database_principals 的查询中?

sql-server permissions sql-server-2016

6
推荐指数
1
解决办法
6096
查看次数

标签 统计

permissions ×1

sql-server ×1

sql-server-2016 ×1