sql - IIS 委派突然停止工作 Windows Server 2016 运行 SqlPackage.exe 到 SQL Server 2017
问题描述
背景
我们使用 Team City 将我们的网站和 SQL 迁移/dacpac 部署到已经成功运行了一段时间的服务器。我们的一台服务器最后一次部署到 2019 年 3 月 4 日。
今天我对该服务器进行了部署,我们部署 dacpac 和迁移的步骤已停止在该服务器上工作。
服务器是 Windows Server 2016 环境,运行带有所有最新 Windows 补丁的 Sql Server 2017。
我们正在使用 IIS 委派(不使用 Kerberos)。
我可以确认以下
- IIS 设置、用户权限或此服务器上的任何内容均未发生任何变化
- 最后一次成功发布到服务器是 2019 年 3 月 4 日。
- 上次有人登录此服务器是 2019 年 2 月
- 对远程代理 URL ' https://devdeploy.mydomain:8172/MsDeploy.axd?site=mysite ' 进行预身份验证,因为 '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)
- 是否有人对如何发生或解决此问题有任何想法(除了卸载安全更新)?
提前感谢任何有好主意的人:)
解决方案
推荐阅读
- python - 如何使用函数调用内部/嵌套类
- delphi - dcc32 输出截断文件路径超过 128 个字符
- svg - feColorMatrix 反转颜色在哪里出错了?
- python-3.x - 由于 if 语句,无法在 PyQt5 中调用消息框
- java - 使用 Jaspersoft 和 Spring 迭代 Json 对象中的数组
- javascript - 如何在 useState 中使用从 DB 获取的数据?
- devops - 具有多种环境的 Gitops / IaC
- java - Java 输入流读取不完整
- javascript - 如何通过带有 onClick 的 React UI 测试文本区域内的代码?
- javascript - 使用 Selenium 获取从网页调用的 javascript 列表