首页 > 解决方案 > 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)。

我可以确认以下

现在失败的步骤如下所示

运行具有以下命令的 .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 委派设置,请参见上图)。

因此,我的问题是

提前感谢任何有好主意的人:)

标签: sqliisdeploymentteamcitydelegation

解决方案


推荐阅读