繁体   English   中英

使用T-SQL查询Active Directory

[英]Querying Active Directory with T-SQL

试过:

EXEC master.dbo.sp_addlinkedserver
        @server = N'ADSI',
        @srvproduct=N'Active Directory Services',
        @provider=N'ADsDSOObject',
        @datasrc=N'server_name.your_domain.com'

EXEC master.dbo.sp_addlinkedsrvlogin 
        @rmtsrvname=N'ADSI',
        @useself=N'False',
        @locallogin=NULL,
        @rmtuser=N'your_domain\domain_user',
        @rmtpassword='********'

SELECT * 
FROM OPENQUERY (ADSI, 'SELECT *
                       FROM ''LDAP://DC=your_domain,DC=com''')

得到此错误:

Msg 7321,Level 16,State 2,Line 1
准备查询“SELECT * FROM'LDAP:// DC = your_domain,DC = com'”时发生错误,以便针对链接服务器“ADSI”针对OLE DB提供程序“ADsDSOObject”执行。

我已经确认我的,并且SQL Server服务域帐户具有对AD的读访问权限,并且选择了ADsDSOObject提供程序上的“允许进程”。

任何想法将不胜感激。

我能找到的每个例子都有:LDAP:// DC = your_domain,DC = com作为语法。 对我们的服务器(也许是其他的)来说,它是:LDAP:// DC = your_domain,DC = internal

根据某人的建议,我使用Softerra LDAP浏览器(免费)并打开服务器,单击顶部节点,发现可分辨名称条目列为:DC = your_domain,DC = internal

一旦我做了这个改变,我就能看到AD数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM