День добрый!
Так как не знаю что пробовалось, опишу что делал я
1. С помощью процедуры sp_addlinkedserver создал связанный сервер(менял только первый параметр процедуры):
sp_addlinkedserver 'MyDomenAD', 'Active Directory Service Interfaces', 'ADSDSOObject', 'adsdatasource'
2. Так как у меня используется встроенная авторизация, то с помощью процедуры sp_addlinkedsrvlogin добавил логин для входа на связанный сервер(первый параметр это имя связанного сервера, назначенное в sp_addlinkedserver):
sp_addlinkedsrvlogin 'MyDomenAD', false, 'sa', 'MyDomen\Administrator', 'SuperSecretPassword'
Если я правильно перевёл "BOL2000: OLE DB Provider for Microsoft Directory Services", то при использовании в MS SQL Server Windows-авторизации этот пункт не требуется.
3. Слегка допилил запрос из MSDN:
SELECT [NAME]
FROM OPENQUERY(MyDomenAD,
'
SELECT name
FROM ''LDAP://DC=mydomen,DC=local''
WHERE objectCategory=''computer''
')
На выходе список компьютеров домена
Проверенно на MSSQL2000(девелоперский) и SQL Server Express 2005(который с "продвинутыми фичами" ). Использовано BOL2000(описание процедур) и немного MSDN(Distributed Query)
По поводу работы примеров - в попадавшихся примерах к ошибкам приводило:
1. Неправильные кавычки(главный бич примеров в интернете, результат бездумного украшательства там где это недопустимо). А именно замена одинарных на двойные, использование двойных вместо одинарных внутри строки в OPENQUERY(в запросе выше все символы кавычек одинарные).
2. Схема может отличаться, тогда выбираемые колонки или условия будут не верны. Однако QA сообщит лишь о том что "что-то не срослось" при работе с "ADSDSOObject" . В этом случае стоит попробовать убрать явно задаваемые имена колонок. Например так:
SELECT *
FROM OPENQUERY(MyDomenAD,
'SELECT *
FROM ''LDAP://DC=mydomen,DC=local''
')
Получим полный набор данных, анализируем что мы имеем в реальности и затачиваем запрос под нашу схему.
3. Строка авторизации. В примерах пользователь для входа на сервер для п.2 указывался в стиле AD, в результате чего QA ругался что отсутствуют права доступа к данным.