Запрос Active Directory из Sql Server 2008 - PullRequest
1 голос
/ 27 августа 2009

Я не могу запросить 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.

1 Ответ

2 голосов
/ 27 августа 2009

Метод проб и ошибок привел меня к выводу, что параметр @rmtuser ожидает имя пользователя с обратной косой чертой домена; кажется, что сейчас это может быть запрошено.

...