none
Как правильно настроить "Linked Server" к Active Directory RRS feed

  • Вопрос

  • Я подключил Linked Sever:

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


    Далее настроил его:

    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'collation compatible', @optvalue=N'false'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'data access', @optvalue=N'true'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'dist', @optvalue=N'false'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'pub', @optvalue=N'false'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'rpc', @optvalue=N'false'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'rpc out', @optvalue=N'false'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'sub', @optvalue=N'false'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'connect timeout', @optvalue=N'0'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'collation name', @optvalue=null
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'lazy schema validation', @optvalue=N'false'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'query timeout', @optvalue=N'0'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'use remote collation', @optvalue=N'true'
    EXEC master.dbo.sp_serveroption @server=N'ADSI', @optname=N'remote proc transaction promotion', @optvalue=N'true'
    

    Добавил логин:

    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ADSI'
    ,@useself=N'False'
    ,@locallogin=Null
    ,@rmtuser=N'domain\username'
    ,@rmtpassword='password'

    Учётная запись domain\username может подключаться к своему домену, так и к доверенным доменам (из другого леса)

    Утилита  dsquery без запроса пароля используя, видимо, встроенную аутентификацию windows, выбирает данные из своего леса, так и из доверенного.

    Такая же учётная запись указанная как rmtuser может выбирать данные только из своего леса, при обращении к другому лесу выдаётся ошибка.

    То есть я в домене moscow.corp.local могу искать в ekaterinburg.corp.local, rostov.corp.local, но не могу в sochi.local, но из dsquery всё работает.

    Пробовал также:

    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ADSI'
    ,@useself=N'True'
    ,@locallogin=N'domain\username'
    ,@rmtuser=Null
    ,@rmtpassword=Null

    Не работает.

    8 февраля 2019 г. 6:03