Как я могу заставить мой связанный сервер работать с использованием аутентификации Windows?


20

Я пытаюсь подключить сервер к серверу A, созданному на другом сервере, ServerB, используя «Быть ​​созданным с использованием текущего контекста безопасности входа в систему» ​​в доменной среде. Я прочитал, что мне нужно было бы создать имена участников-служб для учетных записей служб, которые запускают SQL Server на каждом из серверов, чтобы включить Kerberos. Я сделал это, и теперь оба показывают схему аутентификации Kerberos, однако, я все еще сталкиваюсь с ошибкой:

"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".

В Active Directory я вижу, что учетная запись службы для ServerB является доверенной для делегирования в MSSQLSvc, но я заметил, что для учетной записи службы для ServerA еще не включена функция «доверять этому пользователю для делегирования». На целевом сервере также должна быть включена эта опция? Нужно ли что-либо еще, чтобы иметь возможность использовать текущую учетную запись Windows для использования связанного сервера?

Ответы:


22

На каждой машине в цепочке от вашего настольного компьютера до сервера, на который вы звоните, должен быть включен Kerberos, чтобы траст прошел дальше первого скачка. Итак, да, сервер должен доверять пользователю для делегирования.

«Ошибка входа пользователя« NT AUTHORITY \ ANONYMOUS LOGON »почти всегда указывает на проблему делегирования.

  • Ваша учетная запись Windows должна иметь доступ как к ServerA, так и к ServerB.
  • У вас не должно быть настройки «Учетная запись конфиденциальна и не может быть делегирована».
  • И ServerA, и ServerB должны иметь свой собственный зарегистрированный SPN.
  • Серверы должны быть подключены по протоколу TCP / IP или по именованным каналам.

В статье «Электронная документация по SQL Server», которая предлагает более подробную информацию, «Настройка связанных серверов для делегирования»: http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx


1
Полезный блог MSDN для подробностей о SPN и Kerberos
Jan Zahradník

Также проверьте, если вы используете псевдоним DNS для любого сервера, имена SPN должны совпадать.
Грег

-1

Две вещи здесь:

  1. При использовании связанного сервера без сопоставления имени входа локального сервера с удаленным сервером не входите на удаленный компьютер и используйте имя входа Windows для запуска сценариев. Проблема двойного прыжка входит в игру, поскольку она использует олицетворение.

  2. Кроме того, вам необходимо настроить локальный код неисправности через DCOMCNFG для связи. Смотрите прикрепленную картинку.

(DCOMCNFG -> Службы компонентов -> Компьютеры -> Мой компьютер -> Координатор распределенных транзакций -> LocalDTC -> Свойства -> Безопасность)

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.