如何检查用户是否具有SQL Server 2008 R2中的系统管理员权限

End*_*ace 8 sql-server security sql-server-2008

我有一个应用程序,只允许访问数据库上系统管理员的用户.我可以从c#代码执行什么sql脚本或查询,给定用户名,可以确定他/她是否具有系统管理员权限系统规格:sql2008R2 db,.net 2.0,c#

Joe*_*lli 6

使用IS_SRVROLEMEMBER.

SELECT IS_SRVROLEMEMBER('sysadmin', 'YourLogin')
Run Code Online (Sandbox Code Playgroud)

  • 如果account是sysadmin角色中某个组的成员,则此解决方案不会提供正确的结果.DOMAIN\user1是DOMAIN\DBAs的成员,DOMAIN\DBAs是sysadmin角色,因此DOMAIN\user1是sysadmin.检查SELECT IS_SRVROLEMEMBER('sysadmin','DOMAIN\user1')将导致NULL. (3认同)