Запрос SSRS на удаленном связанном сервере - PullRequest
0 голосов
/ 16 октября 2019

Я настроил SSRS на Server1. Server2 связан с Server1 в sys.servers.

Все queries/reports ссылка работает нормально, если я запускаю Server1 объекты

Я хочу запустить отчет на Server2объекты

Попробуйте 1 Я создал общий источник данных для Server2, построил запрос в общем наборе данных.

SELECT Field1 FROM Table1

a) Предварительный просмотр - работает нормально

b) Server1/Reports выдает эту ошибку:

Произошла ошибка при обработке отчета. (rsProcessingAborted) Ошибка выполнения для общего набора данных 'table1'. (rsDataSetExecutionError) Ошибка выполнения запроса для набора данных 'DataSet1'. (rsErrorExecutingCommand) Для получения дополнительной информации об этой ошибке перейдите на сервер отчетов на локальном сервере или включите удаленные ошибки

Попробуйте 2 Я попытался использовать Server1 и ссылку изтам. Поэтому при создании набора данных я использовал Server1 в качестве источника и построил этот запрос

SELECT Field1 FROM Server2.master.dbo.Table1

a) предварительный просмотр выполняется нормально

b) Server1/Reports выдает ту же ошибку, что и выше

ПРИМЕЧАНИЕ: изменение приведенного выше запроса на OPENQUERY приводит к тому же самому

Если я просматриваю журналы, он говорит:

Ошибка входа пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'

он может подключаться к Server1 источнику данных (поскольку SSRS установлен на Server1), но не может подключаться к Server2. Как я могу предоставить этому пользователю доступ к Server2?

Как я могу исправить вышеуказанную проблему, чтобы отчет работал с Server1/Reports тоже

ПРИМЕЧАНИЕ : Iиспользовать SQL Server 2017

1 Ответ

1 голос
/ 16 октября 2019

Вы используете проверку подлинности Windows для сервера отчетов и снова в общем источнике данных. Это означает, что маркер зарегистрированного пользователя передается второму прыжку, Server2. Чтобы разрешить это, вам нужно будет включить делегирование Active Directory.

Обратитесь к сетевым администраторам и попросите их настроить (хотя бы ограниченное) делегирование на Server1, чтобы разрешить делегированные подключения к Server2 (хотя бы к службе SQL Server). ).

...