如何在 SQL Server 2012 上部署 ssis 包

How to deploy ssis package on SQL Server 2012

当我在 SQL Server 2012 上部署包时,出现此错误。

ResultsLoading projectSuccessConnecting to destination serverSuccessThe package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails.
Changing protection level Failure Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: The package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails.

---> System.Runtime.InteropServices.COMException: The package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails.

at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSPackagePersist100.LoadPackageFromXML(Object vSource, Boolean vbSourceIsLocation, IDTSEvents100 pEvents)
at Microsoft.SqlServer.Dts.Runtime.Package.LoadFromXML(String packageXml, IDTSEvents events)
--- End of inner exception stack trace ---
at Microsoft.SqlServer.Dts.Runtime.Package.LoadFromXML(String packageXml, IDTSEvents events)
at Microsoft.SqlServer.Dts.Runtime.Project.LoadPackage(IProjectStorage storage, Package package, String streamName, IDTSEvents events)
at Microsoft.SqlServer.Dts.Runtime.PackageItem.Load(IDTSEvents events)
at Microsoft.SqlServer.Dts.Runtime.PackageItem.get_Package()
at Microsoft.SqlServer.IntegrationServices.Wizard.Common.Model.DeploymentModel.ConvertProtectionLevel(Project project)
at Microsoft.SqlServer.IntegrationServices.Wizard.Common.Model.DeploymentModel.DeployProject()Use the following arguments to perform this deployment from the command line:Command lineNone/Silent /ModelType:Project /SourcePath:"D:\Projects\vz-internal-etl\trunk\SourceViz\vizExplorerBI\vizExplorerBI\bin\Development\vizExplorerBI.ispac" /DestinationServer:"KAILESH-PC8" /DestinationPath:"/SSISDB/Viz/vizExplorerBI"SourcePathNoneD:\Projects\vz-internal-etl\trunk\SourceViz\vizExplorerBI\vizExplorerBI\bin\Development\vizExplorerBI.ispacDestinationServer nameNoneKAILESH-PC8PathNone/SSISDB/Viz/vizExplorerBI

您已使用 Visual Studio 2015/SQL Server Data Tools 2015 构建了一个 SSIS 项目,默认目标为 SQL Server 2016。然后您将部署到 SQL Server 2012 并且错误表明它(Integration Services 目录)不理解它收到的 XML。

选项 1

在 .dtproj 的属性菜单中(右键单击 SSDT 中的 vizExplorerBI)并在部署属性下,将其从 2016 年目标更改为 2012 年。重建并重新部署,您可能会很幸运。 2016 版是唯一(截至 2017 年)SSDT/BIDS 引擎能够针对产品的早期版本。其他一切都只向前兼容。

选项 2

为您的环境获取正确版本的 SSDT 并重建您的包。

凡人怎么知道现在是 2016 年?

经验+我看了报错信息。它引用 ModelType:Project 这是 2016 年添加的新选项,用于支持增量部署模型。由于 OP 表示他们将部署到 2012 年,这似乎是一个合乎逻辑的飞跃。