Sql server 2008 从Sql Server 2008查询Active Directory

Sql server 2008 从Sql Server 2008查询Active Directory,sql-server-2008,active-directory,ldap,Sql Server 2008,Active Directory,Ldap,我无法通过SQL Server查询广告。我通过SQL(见下文)和SSMS GUI添加了引用active directory的链接服务器,但我无法找出安全问题 EXEC sp_addlinkedserver @server = 'ADSI', @srvproduct = 'Active Directory Services 2.5', @provider = 'ADSDSOObject', @datasrc = 'adsdatasource' EXEC sp_addlinkeds

我无法通过SQL Server查询广告。我通过SQL(见下文)和SSMS GUI添加了引用active directory的链接服务器,但我无法找出安全问题

    EXEC sp_addlinkedserver @server = 'ADSI', @srvproduct = 'Active Directory Services 2.5', @provider = 'ADSDSOObject', @datasrc = 'adsdatasource'

    EXEC sp_addlinkedsrvlogin @rmtsrvname = 'ADSI', @useself = 'False', @locallogin = 'sa', @rmtuser = 'mylogin', @rmtpassword = 'mypassword'
因此,此查询会说“
…提供程序表示用户没有执行该操作的权限。”

我可能关闭了@locallogin、@rmtuser和@rmtpassword,弄不清楚每个参数的含义以及正确的参数应该是什么;它们是否应该包含用户ID和密码,并合并成一个字符串,包括反斜杠、aerobase或您拥有的其他内容


有什么建议吗?不管是哪个SQL Server数据库,只是SS 08由于少量的Intellisense信息更丰富。

反复试验使我推断@rmtuser参数需要域反斜杠用户名;这似乎让它现在可以查询。

最奇怪的事情-我的域\用户必须是小写才能工作。大写字母是不行的。。。
SELECT * FROM OPENQUERY(ADSI, 'SELECT givenName, sn FROM ''LDAP://dc=mydomain,dc=com'' WHERE objectClass=''Person'' AND objectClass=''User''')