【发布时间】:2016-12-08 16:03:11
【问题描述】:
试过了:
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''')
收到此错误:
消息 7321,第 16 级,状态 2,第 1 行
准备查询“SELECT * FROM 'LDAP://DC=your_domain,DC=com'”以针对链接服务器“ADSI”的 OLE DB 提供程序“ADsDSOObject”执行时出错。
我已经确认我的和 SQL Server 服务域帐户具有对 AD 的读取权限,并且选择了 ADsDSOObject 提供程序上的“允许进程内”。
任何想法将不胜感激。
【问题讨论】:
-
如果您导航到您的链接服务器是 SSMS,您可以右键单击并测试连接。这行得通吗?
-
@Meghan Armes 是的!
-
我认为那是为了@destination-data :)
-
我认为问题是
SELECT *返回的数据与 SQL Server 不兼容。尝试将 OPENQUERY 中的 SELECT 子句限制为您正在使用的字段。有一些方便的提示here。
标签: sql sql-server tsql active-directory linked-server