1

Visual Studio 2015 Mise à jour 3 14.0.25341.01SQL Server 2016 packages SSIS défaut lors de leur déploiement en utilisant les outils de données SQL Server v14 VS2015

Outils de données SQL Server 14.0.61707.300

SQL Server 2016 13.0.4435.0

J'ai récemment reçu un message dans VS2015 indiquant qu'une mise à jour de SQL Server Data Tools était disponible. J'ai décidé de le télécharger et de l'installer et maintenant les paquets que je déploie sur SQL 2016 ne fonctionnent plus. Je ne connais pas ma version de SQL Server Data Tools avant d'avoir installé la mise à jour, mais je sais que dans mon projet SSIS, je vois maintenant l'option TargetServerVersion de SQL 2017 (utilisée uniquement pour SQL 2016).).

J'ai confirmé mon projet (qui est le projet que j'utilise pour tous mes packages SSIS et depuis que nous avons déployé SQL 2016) est toujours défini sur TargetServerVersion SQL 2016. Le projet est défini sur Project Deployment Mode, et j'ai toujours déployé en ouvrant un package, puis en cliquant sur Fichier -> Enregistrer la copie de filename.dtsx As ..., puis en déployant sur SQL cible. Rien n'a changé dans notre environnement en dehors de ma mise à niveau de SQL Server Data Tools.

est ici l'erreur que je reçois lorsque je tente d'exécuter le package:

Executed as user: DOMAIN\ProxySvc. 
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 Plans\Package_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. 

Les paquets seront toutefois fonctionner que si je les déployer à l'aide de la dtutil SQL 2016 Dev Édition J'ai installé localement. Par exemple:

"C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\dtutil" /FILE "C:\filename.dtsx" /DestServer SERVERNAME/INSTANCE /Encrypt SQL;"Maintenance Plans\Package_Name";2;PKG_PA$$ 

Est-ce que quelqu'un d'autre a eu un problème avec cela? Je ne peux pas être la seule personne à déployer un paquet de cette façon qui a subitement cessé de fonctionner lorsque les paquets ont été déployés dans VS2015 et dans les outils de données SQL Server. J'ai également ouvert une connexion pour this issue.

Modifier: J'ai essayé Visual Studio 2017 avec l'édition d'aperçu de SQL Server Data Tools pour cela. J'ai le même problème. Le paquet se déploie correctement, mais le paquet ne fonctionnera pas.

Éditer 2: Si je crée un paquet vide, il fonctionne avec succès (accordé ne rien faire). Si je crée un paquet vide avec rien, mais une seule connexion OLEDB, il échoue avec le message ci-dessus. Il échoue également avec le même message avec un package vide et une seule connexion ADO.NET.

Édition 3: J'ai déployé deux packages. Un utilisant SSDT (qui ne fonctionne pas sur le serveur avec l'erreur ci-dessus) et un autre avec DTUTIL qui s'exécute bien sur le serveur. Les paquets sont exactement les mêmes sauf pour la façon dont ils ont été copiés sur le serveur. J'ai ensuite utilisé DTUTIL pour copier le paquet sur ma machine et les ai comparés. En dehors des différences de version DTS: LastModifiedProductVersion, le seul autre changement est l'algorithme EncryptionMethod. Celui déployé à l'aide SSDT dit:

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

Et celui déployé à l'aide dtutil:

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

Il est évident que le sel, IV et CipherValues ​​sont différents mais je me demande si le cryptage appliqué par SSDT lors du déploiement cause le problème.

+0

Mettre à jour SSDT vers la dernière version. C'est un produit séparé et gratuit. [La dernière version pour VS 2015 est 17.2] (https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt) –

+0

Je l'ai déjà fait. Veuillez regarder mon numéro de version et le numéro de version du lien que vous avez posté. Ils correspondent. – Brad

+0

J'apprécie les numéros de version SSDT. Sur VS 2017, la version des outils SSIS est .... une chaîne vide, mais au moins cela fonctionne. –

Répondre

1

J'ai eu le même problème. Ce qui l'a résolu pour moi était le suivant: http://microsoft-ssis.blogspot.com/2016/12/ Il y a une référence d'assembly manquante dans le fichier devenv.exe.config. Si vous déployez via une ligne de commande ou en utilisant ISDeploymentWizard, c'est probablement votre problème.

+0

Cela n'a pas fonctionné pour moi. Je me suis ajouté ce qui suit devenv.exe.config sous la section assemblyBinding: - Je reçois toujours l'erreur de ma question initiale après le redéploiement. L'ajout de cet assembly vous a-t-il aidé à déployer SQL 2016? Le blog semble axé sur vNext. – Brad

+0

En outre, je n'obtiens pas d'erreur lors de l'utilisation de 'Enregistrer une copie de filename.dtsx sous ...'. Il semble se déployer très bien, le paquet ne fonctionnera tout simplement pas sur le serveur. Je ne pense pas que ce correctif s'applique à mon problème. – Brad