web-dev-qa-db-fra.com

Travaux SQL Server avec les packages SSIS - Échec de déchiffrement du noeud XML protégé "DTS: Mot de passe" avec l'erreur 0x8009000B

j'ai un travail de serveur SQL qui exécute un package SSIS. Ce travail comporte 9 étapes et à chaque étape, il extrait les données d’une base de données différente. les chaînes de connexion sont définies en tant que paramètres à chaque étape.

je reçois l'erreur suivante quand j'exécute le travail.

Executed as user: USER\MYSERVER$. Microsoft (R) SQL Server Execute Package Utility  Version 10.50.1600.1 for 64-bit  Copyright (C) Microsoft Corporation 2010. All rights reserved.
Started:  5:50:55 PM  Error: 2013-06-21 17:50:55.44
Code: 0xC0016016
Source:
Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-06-21 17:50:55.45
Code: 0xC0016016
Source:
Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-06-21 17:50:55.45
Code: 0xC0016016
Source:
Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-06-21 17:51:06.30
Code: 0xC020901C
Source: Data Flow Task Daily Attendance View 1 [34]
Description: There was an error with output column "ShiftCode" (54) on output "OLE DB Source Output" (45). The column status returned was: "Text was truncated or one or more characters had no match in the target code page.".  End Error  Error: 2013-06-21 17:51:06.30
Code: 0xC020902A
Source: Data Flow Task Daily Attendance View 1 [34]
Description: The "output column "ShiftCode" (54)" failed because truncation occurred, and the truncation row disposition on "output column "ShiftCode" (54)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component.  End Error  Error: 2013-06-21 17:51:06.30
Code: 0xC0047038
Source: Data Flow Task SSIS.Pipeline
Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Daily Attendance View 1" (34) returned error code 0xC020902A.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  5:50:55 PM  Finished: 5:51:06 PM  Elapsed:  10.983 seconds.  The package execution failed.  The step failed.

quelqu'un peut-il me dire pourquoi cela se produit?

24

En plus de ce que la réponse de Kiran suggère, assurez-vous que ceci est correctement défini:

Il existe une option dans SSIS pour enregistrer les mots de passe (pour accéder à la base de données ou à d’autres tâches), le paramètre par défaut est "EncryptSensitiveWithUserKey" ... Vous devez le modifier.

Fenêtre Propriétés du package> ProtectionLevel - Modifiez le paramètre en EncryptSensitiveWithPassword PackagePassword - entrez le mot de passe-> un mot de passe

35
mmassey10

Modifiez les propriétés du projet et du package ProtectionLevel en " DontSaveSensitive "

11
Rashmi

C'est parce que le créateur des packages SSIS est quelqu'un d'autre et qu'une autre personne exécute les packages.

Si supposons qu'une personne ait créé des packages SSIS et qu'une personne B tente de s'exécuter, l'erreur ci-dessus survient.

Vous pouvez résoudre cette erreur en modifiant le nom du créateur des propriétés du package de A à B.

Merci, Kiran Sagar

10
Kiran Sagar

Un peu tard dans le match, mais j’ai trouvé un moyen de régler ce problème pour moi, que je n’avais jamais vu ailleurs. Sélectionnez votre connexion parmi les gestionnaires de connexion. Sur la droite, vous devriez voir les propriétés. Vérifiez s'il y a des expressions s'il n'y en a pas. Dans votre paquet Explorer, ajoutez une variable appelée connection à SQL ou autre. Définissez la variable en tant que chaîne, définissez la valeur en tant que chaîne de connexion et incluez l'ID utilisateur et le mot de passe. Retour aux propriétés et à l'expression du gestionnaire de connexions. Dans le menu déroulant, sélectionnez ConnectionString et définissez la deuxième zone comme nom de votre variable. ça devrait ressembler à ça

 enter image description here

Pour la vie de moi, je ne pouvais pas trouver une autre solution, mais cela a fonctionné!

2
Leonardo Trimarchi

Dans mon cas, c’était parce que je n’étais pas encore connecté aux bases de données lors de la première ouverture de la solution. Cliquez sur l'onglet Gestionnaire de connexions, établissez une connexion avec chaque source de données de cet onglet, exécutez le projet.

0
Janatbek Sharsheyev

Pour moi, le problème avait à voir avec les paramètres assignés au paquet.

 In SSMS, Navigate to:
 "Integration Services Catalog -> SSISDB -> Project Folder Name -> Projects -> Project Name" 

Assurez-vous de cliquer avec le bouton droit de la souris sur votre "Nom du projet", puis de valider que le moteur d'exécution 32 bits est défini correctement et que les paramètres utilisés par défaut sont correctement instanciés. Vérifiez le paramètre NOMS et les valeurs initiales. Pour mon package, j'utilisais des valeurs incorrectes et je devais donc repeupler les paramètres par défaut avant d'exécuter mon package. Vérifiez les valeurs que vous utilisez par rapport aux valeurs par défaut que vous avez définies pour les paramètres que vous avez configurés dans votre package SSIS. Une fois que ceux-ci correspondent le problème devrait être résolu (pour certains)

0
Turner