У меня есть сервер SRV01 с установкой SQLSRV01 и базой данных SQLDB01. На этом сервере у меня установлена SQL служба агента сервера, работающая под windows учетной записью SQLAgent (изменить нельзя). Также я настроил связанный сервер с SQLSRV02, расположенным на машине SRV02, которая использует текущий контекст безопасности для аутентификации. Я получил windows пользователя DOMAIN \ IntegrationUser01, который имеет доступ к обеим базам данных на обоих серверах. Затем я создал простую хранимую процедуру, которая считывает данные из удаленной таблицы и записывает их в локальную (проверено и работает, когда я вхожу в SQLSRV01 как IntegrationUser01). В конце я настроил задание на выполнение этой хранимой процедуры. Я установил DOMAIN \ IntegrationUser01 как владельца JOB, а также как пользователя для запуска step как (Step -> Properties -> Advenced -> Run as).
Это не работает. Выполнение задания заканчивается с исключением:
Связанные серверы не могут использоваться под олицетворением без сопоставления для олицетворенного имени входа.
Как я понимаю, учетная запись SQLAgent на первом этапе олицетворяет себя как IntegrationUser01 для запуска JOB, а затем должен иметь возможность делегировать эти учетные данные через связанный сервер для SRV02 для аутентификации. Поскольку нет протокола Kerberos для обработки 2-го h oop, он ищет отображение на SQL пользователя на сервере SQLSRV02, которого не существует.
Есть ли возможность настроить такую архитектуру без Kerberos? или я просто что-то не так делаю?