Делегация IIS внезапно перестала работать Windows Server 2016 с запущенным SqlPackage.exe для SQL Server 2017 - PullRequest
1 голос
/ 09 мая 2019

Фон

Мы используем Team City для развертывания наших веб-сайтов и миграции SQL / dacpac на серверы, которые успешно работают в течение достаточно долгого времени. Последний из наших серверов был развернут 4 марта 2019 года.

Сегодня я выполнил развертывание на этом сервере, и наш шаг, который развертывает dacpac и миграции, перестал работать на этом сервере.

Сервер является средой Windows Server 2016, на которой запущен Sql Server 2017 со всеми последними исправлениями Windows.

Мы используем делегирование IIS ( НЕ используем Kerberos ).

Я могу подтвердить следующее

  • Ничего не изменилось с точки зрения настроек IIS, разрешений пользователей или что-нибудь на этом сервере
  • Последний успешный выпуск на сервер был 4 марта 2019 года.
  • В последний раз кто-либо входил на этот сервер в феврале 2019
  • Предварительная аутентификация для URL удаленного агента https://devdeploy.mydomain:8172/MsDeploy.axd?site=mysite' as «TeamCity» аутентифицируется как ожидалось
  • Делегирование настроено следующим образом: Delegation Settings

Шаг, который сейчас не выполняется, выглядит следующим образом

запустите файл .bat со следующей командой:

WHOAMI

"C:\Program Files\Microsoft SQL Server\150\DAC\bin\sqlpackage.exe" /Action:Publish /SourceFile:"C:\inetpub\websitepath\dacpac\mydacpac.dacpac" /TargetServerName:SQLServer /TargetDatabaseName:MyDatabase

(ПРИМЕЧАНИЕ. WHOAMI Возвращает «ServerName \ TeamCity»)

Ошибка, указанная в журналах Team City:

Невозможно открыть базу данных "MyDatabase", запрошенную при входе в систему. Логин не удалось. Ошибка входа пользователя 'ServerName \ TeamCity'.

Это подразумевает (ИМХО), что делегирование из IIS запущенному пакетному файлу больше не происходит.

Похоже, что делегирование IIS не выполнило правильное делегирование и запускает пользователя под «TeamCity», а не под делегированным пользователем «DbOwnerUser» (см. Изображение выше для настройки делегирования runCommand).

Поэтому мои вопросы

  • Кто-нибудь еще имеет эту проблему?
  • Есть ли обновление безопасности, из-за которого оно больше не работает например KB4489885 (речь идет о Kerberos, и мы НЕ используем Kerberos)
  • Есть ли у кого-нибудь мысли о том, как это может произойти или быть исправлено? (кроме удаления обновления безопасности)?

Заранее спасибо всем, у кого есть хорошие идеи:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...