Have tried:
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 在执行与联接服务器“ADSI”对应的OLE DB提供程序“ADsDSOObject”的查询“SELECT * FROM 'LDAP://DC=your_domain,DC=com'”之前,出现错误。
我已经确认了我的SQL Server服务域帐户和您的域帐户都有AD的读取权限,并且已选择ADsDSOObject提供程序上的“允许进程内”选项。
如果您有任何想法,请告诉我。
SELECT *
返回的数据与 SQL Server 不兼容。尝试将 OPENQUERY 中的 SELECT 子句限制为仅使用的字段。这里有一些方便的提示:http://www.rlmueller.net/SQLSyntax.htm。 - David Rushton