Sql server 查找用户能够访问sql server中数据库的windows组?

Sql server 查找用户能够访问sql server中数据库的windows组?,sql-server,permissions,Sql Server,Permissions,存在具有混合模式身份验证的SQL Server 2005数据库 除此之外,我们在服务器上有以下登录名:我们的domain\developers-group-1和domain\developers-group-2,它们都是广告组 我们的域\developer-group-2被添加到服务器上的sysadmin角色,通过该角色,该组的所有域用户都可以访问任何数据库,因为SQL server将sysadmin角色隐式映射到每个数据库中的dbo用户 有两个用户我们的域\好用户和域\坏用户 问题在于:好

存在具有混合模式身份验证的SQL Server 2005数据库

  • 除此之外,我们在服务器上有以下登录名:我们的domain\developers-group-1和domain\developers-group-2,它们都是广告组
  • 我们的域\developer-group-2被添加到服务器上的sysadmin角色,通过该角色,该组的所有域用户都可以访问任何数据库,因为SQL server将sysadmin角色隐式映射到每个数据库中的dbo用户
  • 有两个用户我们的域\好用户和域\坏用户
问题在于:好用户和坏用户拥有完全相同的广告组成员资格。他们都是域\开发者组-1和域\开发者组-2的成员。好的用户能够访问所有数据库,而坏的用户不能。坏用户可以登录,但无法访问任何数据库。顺便说一下,我是个好用户

我如何找出原因?

以下是我迄今为止所做的尝试:

  • 当我打印当前用户时,我得到了dbo
  • 当我打印系统用户时,我得到了我的域\好用户
  • 当我从fn_my_permissions(NULL,'SERVER')中选择*时,我看到了权限

  • 但是如果执行
    时使用user='my-domain\good user';从fn_my_permissions(NULL,'SERVER')中选择*时,我看不到任何权限

  • 当我这样做时,
    以user='my-domain\bad user'的身份执行;从fn_my_permissions(NULL,'SERVER')中选择*时,我看不到任何权限


另外,我想知道是否有sql命令会告诉我,“嘿!当前数据库用户能够访问此数据库,因为他是某个广告组的成员,该广告组是映射到此数据库中某个用户的登录名”。

如果您在Management Studio中拥有相关权限,这应该不会花太长时间。听起来坏用户广告组在SQL Server中的权限有限


您需要在GUI的安全性中检查设置,并检查每个广告组的映射-单击数据库以查看它们对每个数据库拥有哪些权限。

您是否可能只是拥有作为对象创建者/所有者的隐式权限,但是,尚未对广告组/角色或您的用户单独授予明确的权限