首页 > 解决方案 > sqlpackage 发布操作停留在初始化部署状态

问题描述

我有以下powershell脚本:

$sqlpackagepublish = Start-Process -FilePath sqlpackage.exe -ArgumentList '/Action:Publish','/SourceFile:"Database Services\bin\Release\Database Services.dacpac"',"/TargetConnectionString:""Data Source=${Env};Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False;Initial catalog=${Target}""","/p:BlockOnPossibleDataLoss=${Data_loss}" -wait -PassThru -Credential $Cred -RedirectStandardOutput sqlstdout.txt -RedirectStandardError sqlstderr.txt
$sqlpackagepublish.WaitForExit()
$sqlpackagepublish

if ($sqlpackagepublish.ExitCode -eq 0) {
     Get-Content sqlstdout.txt
 }
else {
     echo "An error occurred"
     Get-Content sqlstderr.txt
     exit $sqlpackagepublish.ExitCode
}

当我针对sqlserver开发服务器运行代码时,它可以工作。一旦我尝试将它部署到sqlserverprod 服务器上,它就会卡住(jenkins作业已经运行了 30 分钟):

Initializing deployment (Start)

有没有办法调试它以了解问题所在?

标签: sql-serverpowershellsqlpackage

解决方案


我会sp_who2先在数据库服务器上运行,看看是否sqlpackage已经连接到它,以及它是否在某处的服务器上阻塞。

如果是这样,您可以使用 SQL Server Profiler 进行进一步调查(可以在 SQL Server Management Studio 的工具菜单中找到)


推荐阅读