CMD中的ISDeploymentWizard.exe命令(SSIS部署)不';不要打印任何状态指示

CMD中的ISDeploymentWizard.exe命令(SSIS部署)不';不要打印任何状态指示,cmd,ssis,ssms,Cmd,Ssis,Ssms,我正在CMD中为SSIS运行以下命令: ISDeploymentWizard.exe /Silent /ModelType:Project /SourcePath:"C:\TEST\Integration Services.ispac" /DestinationServer:"TEST03,1111" /DestinationPath:"/TEST/DEVOPS" 它成功地完成了,但没有向命令行显示。我只能通过SSMS进行检查,以确保

我正在
CMD
中为
SSIS
运行以下命令:

ISDeploymentWizard.exe /Silent /ModelType:Project /SourcePath:"C:\TEST\Integration Services.ispac" /DestinationServer:"TEST03,1111" /DestinationPath:"/TEST/DEVOPS"

它成功地完成了,但没有向命令行显示。我只能通过
SSMS
进行检查,以确保它确实已部署。你知道为什么吗?

这里@areilma有一个可靠的观察选项,/silent选项消除了所有的状态信息。我一直认为标志控制gui是否显示

如果我运行这个命令

isdeploymentwizard.exe /Silent /ModelType:Project /SourcePath:".\SO_66497856.ispac" /DestinationServer:".\dev2017" /DestinationPath:"/SSISDB/BatchSizeTester/SO_66497856"
我的包已部署到指定路径的本地计算机上。删除/silent选项会导致GUI打开预先填充的值

isdeploymentwizard.exe  /ModelType:Project /SourcePath:".\SO_66497856.ispac" /DestinationServer:".\dev2017" /DestinationPath:"/SSISDB/BatchSizeTester/SO_66497856"
前一个命令运行时,不会向命令提示符打印任何内容。这就是愉快的路径部署,也许如果出现“错误”,我会在命令行上收到一条错误消息。这就是事情变得“有趣”的地方

我将目标路径更改为不存在的文件夹。我知道,如果路径不存在,该工具不会创建路径,并且当我运行它时,我没有在命令行上返回错误。我得到的是一个弹出窗口的错误

标题:SQL Server集成服务

路径不存在。在目录“SSIDB”中找不到文件夹“cBatchSizeTester”。(Microsoft.SqlServer.IntegrationServices.Wizard.Common)

按钮:

因此/silent选项删除gui以允许我们进行自动部署,但如果传递了错误的值,我们将返回gui。。。然后我用一个错误的服务器名重复了一遍,这导致了第二次观察。我第二次按enter键时,命令行返回,准备执行下一个命令。但15秒后

标题:SQL Server集成服务

无法连接到服务器。\dev2017a。(Microsoft.SqlServer.ConnectionInfo)

其他信息:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错)(Microsoft SQL Server,错误:-1)

有关帮助,请单击:

现在,这告诉我实际的部署是一个独立的派生过程。因此,在任何情况下,它都不会将任何数据返回到命令行

既然我假设我们是从CI/CD的角度来看这个问题,我们能做些什么?我们可以在SSIDB目录视图中查找条目后触发一个
sqlcmd
,以查看发生了什么。像这样的

SELECT TOP 1 O.end_time, SV.StatusValue, F.name AS FolderName, P.name AS ProjectName FROM catalog.operations AS O 
CROSS APPLY
(
SELECT
    CASE O.status
        WHEN 1 THEN 'Created'
        WHEN 2 THEN 'Running'
        WHEN 3 THEN 'Canceled'
        WHEN 4 THEN 'Failed'
        WHEN 5 THEN 'Pending'
        WHEN 6 THEN 'Ended unexpectedly'
        WHEN 7 THEN 'Succeeded'
        WHEN 8 THEN 'Stopping'
        WHEN 9 THEN 'Completed'
    END AS StatusValue
)SV
INNER JOIN catalog.object_versions AS OV ON OV.object_id = O.object_id
INNER JOIN catalog.projects AS P ON P.object_version_lsn = OV.object_version_lsn
INNER JOIN catalog.folders AS F ON F.folder_id = P.folder_id
/*
    INNER JOIN
        catalog.packages AS PKG
        ON PKG.project_id = P.project_id
*/
WHERE O.operation_type = 101 /*deploy project*/
AND P.name = 'SO_66497856' /*project name*/
AND F.name = 'BatchSizeTester'
ORDER BY o.created_time DESC
也许对过去10秒内的结束时间进行筛选是合适的,如果我们有一个结果,并且状态为Successed,我们将得到一个deploy。没有结果意味着它失败了。我假设gui运行时也会发生类似的情况,尽管进行了所有这些测试,但我不想触发一个跟踪来完全完善这个答案,看看幕后会发生什么

如果您想否定预构建工具的价值,另一个选项是使用ManagedObjectModel/PowerShell方法进行部署,因为您可以从中获取信息。另一个部署选项是使用TSQL命令。我的文档部分的第二个链接概述了它的外观

我能找到的微不足道的文件 我找不到有关
isdeploymentwizard.exe的命令行开关的文档

  • 从@arielma删除的答案中,他们发现了一个更简洁的答案,即“”

    • /Silent
      在我看来,似乎是一条明显的线索,说明为什么没有迹象。如何使用
      SSMS
      对于StackOverflow来说不是一个有效的主题问题。根据我的理解,
      /Silent
      表示它在后台运行,带有默认选项。这与结果无关。没有关于自我答案的否决票的线索,但我同意你从MSDN链接中发现的。不可能找到更多的文档:我发布了与此问题相关的问题。。。你也能看一下吗?