尝试过:
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提供程序上的“允许进程”。
任何想法都会受到赞赏。
答案 0 :(得分:0)
我能找到的每个例子都有:LDAP:// DC = your_domain,DC = com作为语法。对于我们的服务器(也许还有其他服务器)来说,它是:LDAP:// DC = your_domain,DC = internal
根据某人的建议,我使用Softerra LDAP浏览器(免费)并打开服务器,点击顶部节点,发现可分辨名称条目列为:DC = your_domain,DC = internal
完成更改后,我可以看到AD数据。