Запрос Active Directory из Sql Server 2008

Я не могу запросить 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, и я не понимаю, что означает каждый параметр и какими должны быть правильные аргументы; должны ли они включать идентификатор пользователя и пароль, объединенные в одну строку, включая обратную косую черту, или аэробазу, или что у вас есть.

Какие-либо предложения? Неважно, какая база данных SQL Server, просто SS 08 более информативна за счет капельки Intellisense.


person JonathanWolfson    schedule 27.08.2009    source источник


Ответы (1)


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

person JonathanWolfson    schedule 27.08.2009
comment
Самое странное - мой домен\пользователь должен был работать в нижнем регистре. Верхний регистр не годился... - person geekinit; 09.10.2013