回答

收藏

在SQL Server中查询master..syslogins需要哪些权限?

技术问答 技术问答 283 人阅读 | 0 人回复 | 2023-09-12

我对master数据库只有访问权限,但以下查询只返回部分用户。返回其他用户需要什么权限?
" z( k$ N, N. b) O1 C6 `% ISELECT [name] FROM master.dbo.syslogins               
5 k8 D4 \; t% I2 W1 q    解决方案:                                                               
2 ^$ p' S) k% j# e$ ~                                                                你在使用哪个版本?SQL Server?
  i* W9 I1 [5 _  c  P该syslogins目录视图已被弃用,与SQL Server 2005. N9 ~8 Q& h% [7 A- G# w4 u
-如果你在2005年或达到,你应该使用它sys.server_principals和sys.sql_logins替代。7 v! x% q9 O3 U5 Y4 l
当您查看sys.server_principals的MSDN在线丛书主题时,您将在页面底部看到一个注释:5 o7 D& z2 n) c
在SQL Server
/ F/ x$ J: E, F9 |8 K* r% z: n: i$ u在2005年和更高版本中,目录视图中元数据的可见性仅限于用户拥有或授予某些权限的安全性。有关更多信息,请参见元数据的可见性配置。" ?! w2 {+ q) Q, M
转到元数据可见性配置页面,详细了解您将看到的对象以及如何访问其他对象。
+ j  D) |+ \6 z; p8 C; r本注释是最重要的部分:
3 h) J. N4 N. p$ K, [! y! |允许调用者查看元数据VIEWDEFINITION在适当的范围内授予调用器权限:对象级、数据库级或服务器级。因此,在前面的例子中,如果调用器VIEW DEFINITION
( _! Z% k, H& J" J# {对myTable如果有权限,存储过程将返回一行。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则