SQL Server 2016 SSIS软件包使用VS2015 SQL Server Data Tools V14部署时



Visual Studio 2015更新3 14.0.25341.01

SQL Server数据工具14.0.61707.300

SQL Server 2016 13.0.4435.0

我最近在VS2015中收到了一条消息,即提供SQL Server数据工具的更新。我决定下载并安装它,现在将其部署到SQL 2016的软件包不再工作。

我不知道在安装更新之前我的SQL Server数据工具是什么,但是我确实知道在SSIS项目中,我现在看到了SQL 2017的TargetServerververververion选项(仅用于SQL 2016)。

我确认了我的项目(这是我用于所有SSIS软件包的项目,并且自我们部署SQL 2016以来已经设置为TargetSerververversion SQL2016。该项目设置为项目部署模式,我一直部署通过打开一个软件包,然后单击文件 ->保存filename.dtsx的副本为...,然后部署到Target SQL。SQL Server数据工具升级以外的环境中没有任何改变。

这是我尝试运行软件包时收到的错误:

Executed as user: DOMAINProxySvc. 
Microsoft (R) SQL Server Execute Package Utility
Version 13.0.1601.5 for 64-bit
Copyright (C) 2016 Microsoft. All rights reserved.
Started:  3:32:33 PM
Error: 2017-09-28 15:32:33.37
Code: 0xC0010018
Source: Package_Name
Description: Error loading value "<DTS:ConnectionManagers xmlns:DTS="www.microsoft.com/SqlServer/Dts"><DTS:ConnectionManager DTS:refId="Package.ConnectionManagers[SERVER A]"  DTS:CreationName="OLEDB" DTS:DTSID="{E5D397C2-477A-4E04-B930-613DDE14A054}" DTS:ObjectName="SERVER A"><DTS:ObjectData>" from node "DTS:ConnectionManagers".  
End Error
Could not load package "Maintenance PlansPackage_Name" because of error 0xC0010014.  
Description: One or more error occurred. There should be more specific errors preceding this one that explains the details of the errors. This message is used as a return value from functions that encounter errors.
Source:
Started:  3:32:33 PM  Finished: 3:32:33 PM  Elapsed:  0.109 seconds.
The package could not be loaded.
The step failed.

如果我使用SQL 2016 Dev Edition从本地安装的SQL 2016 Dev Edition中使用DTUTIL部署它们,则这些软件包将有效。例如:

"C:Program Files (x86)Microsoft SQL Server130DTSBinndtutil" /FILE "C:filename.dtsx" /DestServer SERVERNAME/INSTANCE /Encrypt SQL;"Maintenance PlansPackage_Name";2;PKG_PA$$

其他人对此有任何问题吗?我不能以这种方式部署软件包的唯一一个突然在VS2015和SQL Server数据工具中停止工作的人。

我还为此问题打开了一个连接。

编辑:我尝试了Visual Studio 2017,其中包括SQL Server数据工具的预览版。我遇到了同样的问题。软件包部署正常,但软件包不会运行。

编辑2:如果我创建一个空软件包,它将成功运行(被授予无所事事)。如果我创建一个没有单个OLEDB连接的空软件包,则在上面的消息中会失败。它也没有一个空软件包和一个Ado.net连接而失败。

编辑3:我部署了两个软件包。一种使用SSDT(在上面的错误上未能在服务器上运行),另一个使用DTUTIL在服务器上执行的DTUTIL。这些软件包是完全相同的,除了如何将其复制到服务器。然后,我使用dtutil将包裹复制回我的机器并进行了比较。在DTS之外:LastModified Productuction版本差异,唯一的另一个更改是EncryptionMethod算法。使用SSDT部署的一个说:

<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>

和使用dtutil部署的一个:

<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>

显然,盐,IV和密码有所不同,但我想知道SSDT在部署时是否应用了加密。

我也有同样的问题。为我解决的问题是:http://microsoft-ssis.blogspot.com/2016/12/devenv.exe.config文件中有一个丢失的汇编引用。如果您通过命令行部署或使用isDeploymentWizard,那可能是您的问题。

最新更新