Не удалось войти в систему для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'. (MsDtsSrvr)

9

У меня есть кластерная среда, в которой есть много экземпляров. Я изменил файл XML, чтобы несколько экземпляров могли использовать ssis. Все отлично работает, когда экземпляры находятся на том же узле, что и кластерный ssis. Однако, если они находятся на разных узлах, кажется, что проблема с аутентификацией, и она теряет мои учетные данные. По какой-то причине он пытается использовать анонимный вход вместо этого. Вот полная ошибка:

Сервер SQL, указанный в конфигурации службы SSIS, отсутствует или недоступен. Это может произойти, если на компьютере нет экземпляра SQL Server по умолчанию. Дополнительные сведения см. В разделе «Настройка службы Integration Services» в электронной документации по Server 2005.

Не удалось войти в систему для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'. (MsDtsSrvr)

Буду признателен всем, кто поможет по этой проблеме.

Спасибо,

Мэтт М
источник
Вы получили ответ на это? У меня точно такая же проблема

Ответы:

11

Это похоже на проблему со схемой аутентификации. Если моя память работает правильно, появление ANONYMOUS LOGON указывает на использование NTLM вместо Kerberos. Если ваша служба SQL Server работает с учетными данными домена, вам необходимо убедиться, что для SQL Server присутствует имя принципа службы (SPN). Синтаксис команды SetSPN можно найти здесь: SetSPN Короче говоря, вы должны объединить протокол с портом TCP и учетной записью службы. Я считаю, что команда будет выглядеть примерно так:

setspn -s MSSQLSvc/Server.Domain:TCPPort Domain\ServiceUser

Чтобы проверить, какую схему аутентификации используют ваши существующие соединения, запустите следующий код:

SELECT
    dec.session_id,
    dec.auth_scheme
FROM sys.dm_exec_connections AS dec

Если настроено правильно для Kerberos, вы увидите Kerberos в столбце auth_scheme. Если нет, вы увидите NTLM.

Наконец, если ваша установка требует многопереходной аутентификации, вам нужно будет настроить каждый последующий переход до SQL Server, чтобы разрешить делегирование. В Active Directory перейдите на страницу свойств компьютера или учетной записи пользователя, которая должна пройти проверку подлинности на SQL Server, перейдите на вкладку «Делегирование», выберите «Доверять этому пользователю только для делегирования на Kerberos», а затем выберите службу что эта учетная запись будет проходить проверку подлинности (найдите учетную запись службы SQL Server).

Надеюсь это поможет,

Matt

Мэтт М
источник