Фон
Мы используем 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» аутентифицируется как ожидалось
- Делегирование настроено следующим образом:
Шаг, который сейчас не выполняется, выглядит следующим образом
запустите файл .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)
- Есть ли у кого-нибудь мысли о том, как это может произойти или быть исправлено?
(кроме удаления обновления безопасности)?
Заранее спасибо всем, у кого есть хорошие идеи:)