Я не могу запросить AD через SQL Server. Я добавляю связанный сервер, ссылающийся на активный каталог, как через SQL (см. Ниже), так и через графический интерфейс SSMS, но не могу понять проблемы безопасности.
EXEC sp_addlinkedserver @server = 'ADSI', @srvproduct = 'Active Directory Services 2.5', @provider = 'ADSDSOObject', @datasrc = 'adsdatasource'
EXEC sp_addlinkedsrvlogin @rmtsrvname = 'ADSI', @useself = 'False', @locallogin = 'sa', @rmtuser = 'mylogin', @rmtpassword = 'mypassword'
Таким образом, этот запрос не выполняется, говоря "...The provider indicates that the user did not have the permission to perform the operation.
"
SELECT * FROM OPENQUERY(ADSI, 'SELECT givenName, sn FROM ''LDAP://dc=mydomain,dc=com'' WHERE objectClass=''Person'' AND objectClass=''User''')
Возможно, у меня отключены @locallogin, @rmtuser и @rmtpassword, и я не совсем понимаю, что означает каждый параметр и какие должны быть правильные аргументы; должны ли они включать ID пользователя и пароль, объединенные в одну строку, включая обратную косую черту, или аэробазу, или что у вас есть.
Есть предложения? Неважно, какая база данных SQL Server, просто SS 08 более информативен из-за небольшого количества Intellisense.