Мы работаем с SQL Сервером, использующим аутентификацию Windows, и обнаружили, что нам нужно указать имя участника-службы для работы соединения. Наше приложение частично использует соединение VB6 через файлы UDL и частично серию сценариев ad ho c, которые мы запускаем через LinqPad. Используя функцию Server SPN файла UDL, мы можем заставить соединение работать, но не можем найти эквивалент для LinqPad.
Кто-нибудь знает, как заставить это работать? Мы опробовали ServerSPN = в качестве дополнительного параметра строки подключения в расширенных настройках, но он не распознается.
Дополнительные сведения.
- Клиентские приложения находятся на Windows 7 в домене A. Все клиентские подключения выполняются с учетных записей в домене A.
- Сервер sql находится в домене B .
- Существует выборочное одностороннее доверие между доменами, и сервер добавляется в группу, которая активирует это доверие.
- Ошибка соединения linqpad: «Имя целевого субъекта Неправильно. Невозможно сгенерировать контекст SSPI ".
- Файл UDL позволяет подключению работать, если для него установлено значение SPN = Server, но в противном случае возникает та же ошибка.
Обновление: во время В ходе тестирования мы обнаружили, что указание SPN приводит к аутентификации NTLM на сервере. Поэтому, если есть способ навязать это клиенту, это был бы возможный маршрут для нас.
Обновление + Обходной путь: мы наткнулись на обходной путь, добавление сервера в файл хоста с другим именем, по-видимому, вызывает тот же откат к аутентификации NTLM, чтобы работать для соединения LinqPad. Был бы признателен, если бы кто-нибудь понимал, как это исправить правильно, но сейчас мы используем обходной путь hostfile.
Любая помощь приветствуется