首页 > 解决方案 > 检查 Windows 凭据是否对列表中的每个 SQL Server 具有系统管理员权限

问题描述

我需要编写一个脚本 [在任何情况下,假定 powershell 最好] 来检查给定的 Windows 或 SQL Server 凭据是否具有列表中每个服务器的系统管理员权限。我想在我的环境中遍历 list pf SQL Servers 并生成一个日志,告诉我哪些服务器具有系统管理员权限。

标签: sql-serverpowershellsysadmin

解决方案


您正在寻找的是IS_SRVROLEMEMBER。

IS_SRVROLEMEMBER ( 'role' [ , 'login' ] )  

论据

“角色”是正在检查的服务器角色的名称。角色是系统名。

角色的有效值是用户定义的服务器角色,以及以下固定服务器角色:

sysadmin serveradmin dbcreator setupadmin bulkadmin securityadmin diskadmin

' login ' 是要检查的 SQL Server 登录名。login 是 sysname,默认为 NULL。如果未指定任何值,则结果基于当前执行上下文。如果参数中包含NULL字样将返回NULL。

| 返回值 | 说明 |

0 登录不是角色的成员。

1 登录是角色的成员

NULL 角色或登录无效,或者您没有查看角色成员资格的权限。


推荐阅读