Почему мой запрос SQL LDAP работает с этим контекстом безопасности, а не с именем пользователя и паролем? - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь установить соединение с Active Directory в SQL Server.Я запустил следующую команду для создания связанного сервера:

EXEC master.dbo.sp_addlinkedserver 
    @server = N'ADSI', 
    @srvproduct=N'Active Directory Service Interfaces', 
    @provider=N'ADSDSOObject', 
    @datasrc=N'MySub.MyDomain.com'

Затем я запустил эту команду, чтобы дать ему логин:

EXEC master.dbo.sp_addlinkedsrvlogin
    @rmtsrvname=N'ADSI',
    @useself=N'False',
    @locallogin=NULL,
    @rmtuser=N'MyUser',
    @rmtpassword=N'MyPassword'

Наконец, я запустил оператор select:

SELECT * 
FROM OpenQuery
(
    ADSI,
'SELECT name
FROM ''LDAP://MySub.MyDomain.com/DC=MyDomain,DC=com''
WHERE objectCategory = ''user''
AND samaccountname = ''johndoe''
AND memberOf=''cn=IT GROUP,OU=Groups,DC=MyDomain,DC=com'' '
)

Но я получаю сообщение об ошибке:

Невозможно выполнить запрос

Не сильно помогите.Я замечаю, что, если я вошел на сервер SQL, и для соединения безопасности связанного сервера установлено значение «Выполнить с использованием текущего контекста безопасности входа в систему», все работает так, как ожидалось.Но если я попытаюсь установить для защищенного соединения значение «Выполнить с использованием этого контекста безопасности» и ввести имя пользователя / пароль, он скажет, что «не может выполнить запрос» (даже если я использую то же имя пользователя / пароль, которое я вошел на сервер, что и).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...