1

我有两个主要使用的SQL Server(一个2005实例和一个2000.)我的权限结构是这样工作的 -如何查询哪个Active Directory帐户与SQL Server用户关联?

首先我创建一个Active Directory组,然后添加所有必要的用户。然后,我转到SQL-MS,并通过选择Windows身份验证选项来添加用户,然后选择我刚刚创建的AD组。对这篇文章毫无帮助,但我将新的登录帐户与所有必要的数据表,视图和SP相关联。

选择组后,我一直将登录名字段作为AD组的名称以供参考。

最近我有一个AD集团重新命名。数据库继续工作,并且,一些方法,SQL Server知道哪个AD组关联SQL登录。我的问题是登录名在SQL Server中没有更新,所以我不知道哪个AD组与SQL Server登录帐户相关联!

是否有我可以运行的查询,或者是否存在隐藏的设置,可以帮助我发现哪个AD组与此帐户关联?

- 编辑 -

谢谢回复者的回答。你已经回答了这个问题,但是,它提出了另一个问题posted here

+0

到目前为止,有两个很好的答案适用于2005年。我更新了我的问题,以反映我需要针对SQL 2005和SQL 2000的解决方案。首先为两种情况提供解决方案获取解决方案检查。正如我所说的 – RLH

+0

- 2000年的整个安全子系统是完全不同的,所以我非常怀疑将有任何解决方案适用于2000以及2005/2008/2008 R2版本...... –

回答

1

您可以检查您在系统上定义为登录的Windows组;

SELECT * 
FROM sys.server_principals 
WHERE type_desc = 'WINDOWS_GROUP' 

这工作SQL Server 2005和更新只。

但你不会得到实际的AD组名 - 只有“SID”为该组....

整个安防系统是SQL Server 2000上完全不同的 - 我不认为有一个1:旧恐龙:-)最好的我能想到的将是1等效查询:

SELECT * 
FROM master.dbo.sysxlogins 
WHERE password IS NULL 
    AND name IS NOT null 

但不幸的是,有没有办法,我就知道到Windows之间的单独用户和Windows安全这里....

+0

请在妮可的回答中看到我的问题。 – RLH

+0

“升级时间”。是的,我同意。然而,企业的“神”迁移总是很慢,这就是为什么我们仍然坚持使用Windows XP,并且我相信它将会持续3年(实际上!) – RLH

+0

宾果!谢谢Marc! – RLH

2

AD组和SQL Server登录之间的映射正在完成using the group's SID。您可以使用sys.server_principals查看其SID的登录列表。如果您想更改现有登录名称,可以使用ALTER LOGIN

+0

编辑 - 是有相当于SQL 2000的sys.server_principals表吗?我只是试图查询它,但我被告知它不存在...但是,同样的查询在我的SQL 2005服务器中工作。 – RLH

相关问题