【问题标题】:How do I find Windows users and groups who have sysadmin access to SQL Server Express?如何找到对 SQL Server Express 具有系统管理员访问权限的 Windows 用户和组?
【发布时间】:2018-10-12 22:33:38
【问题描述】:

是否可以针对 SQL Server Express 数据库运行查询以确定哪些 Windows 用户和组已被授予系统管理员权限?

我有一个应用程序安装程序,它正在 Windows 10 笔记本电脑上安装 SQL Server Express,然后通过使用 Windows 身份验证进行连接来创建数据库。

为了实现这一点,我们一直说登录用户必须是本地管理员。不幸的是,在最近一次 Windows 更新后,“管理员”用户消失了。

很遗憾,SQL Server Express 安装已禁用“sa”,因此我们无法使用它进行连接。那么问题来了,哪些登录名或组在数据库中具有 sysadmin 权限?

【问题讨论】:

    标签: sql sql-server windows-10


    【解决方案1】:

    您可以使用sys.server_principals 表,它包含所有用户的列表以及可能有用的有用信息。

     select * from master.sys.server_principals
    

    如果要根据用户的权限组列出用户,请使用sys.server_role_members 表。

    select * from master.sys.server_role_members
    

    加入他们以列出所有已被授予系统管理员权限的用户:

    select * from master.sys.server_principals sp
    JOIN master.sys.server_role_members sr ON sr.member_principal_id = sp.principal_id
    WHERE 
        sr.role_principal_id = 3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-23
      • 2015-04-21
      • 2021-02-28
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 2014-11-11
      • 1970-01-01
      相关资源
      最近更新 更多