7
votes

"Échec de verrouillage de la variable" Erreur SSIS

Je me fais une erreur au hasard pour un package SSIS prévu qui passe toutes les heures. La chose la plus drôle est que si je supprime le fichier de point de contrôle et d'exécuter à nouveau le paquet, il fonctionne très bien, mais l'erreur peut se présenter à une course future. Je n'ai aucune idée pourquoi cela se passe. Voici le message d'erreur complet.

Exécuté comme utilisateur: UserNameChanged. Microsoft (R) SQL Server Exécuter Utility Package Version 10.0.2531.0 64 bits Copyright (C) Microsoft Corp 1984-2005. Tous droits réservés.
Commencé 09:21:40 Erreur: 2010-06-24 09: 21: 45,83 code: 0xC0014054
Source: Enregistrer MaxLSN et extrait Date de
Description: Échec de la variable de verrouillage « Utilisateur :: UpdateProcessControlQuery » pour un accès en lecture avec l'erreur 0xC0010001 « La variable ne peut pas être trouvé. Cela se produit lorsqu'une tentative de récupérer un variable à partir de la collection Variables sur un récipient pendant l'exécution de la l'emballage, et la variable ne soit pas là. Le nom de variable peut avoir changé ou la variable est de ne pas .. Créé "Fin Erreur Erreur: 2010-06-24 09: 21: 45,84 code: 0xC0024107 Source: Save MaxLSN & Extrait Date Description: Il des erreurs lors de la validation des tâches. Erreur fin DTExec: Le paquet exécution renvoyé DTSER_FAILURE (1). Commencé 09:21:40 Terminé: 09:21:45 Soit écoulé: 4.875 secondes. Le paquet l'exécution a échoué. L'étape a échoué.

Pour ajouter à cela, j'ai 100+ ces paquets en cours d'exécution, il en groupes de 20 paquets dans un groupe et 5 groupes dans une heure. Et cette erreur « de verrouillage variable » est popping au moins une fois à chaque cycle. Donc, je dois trouver la cause racine. Peut-elle aider quelqu'un ...


0 commentaires

8 Réponses :


0
votes

Il semble qu'il y ait une variable est manquante au conteneur de séquence de l'emballage peut avoir besoin de bénéficier d'un autre travail ou d'un ensemble parent. Je pense que c'est le problème de l'une des zones de variable ou de la génération de valeurs variables au moment de l'exécution.

merci prav


1 commentaires

Non. Si tel est le cas, pourquoi le colis est-il exécuté après avoir supprimé le fichier de point de contrôle?



5
votes

Je soupçonnerais que cela est lié à la même variable étant écrite dans plusieurs composants exécutés en parallèle. Cela serait essentiellement une condition de race sur cette variable.

Par exemple, si le composant A et le composant B peuvent exécuter en parallèle et les deux écrits à une variable donnée, il est possible que le composant A écrivez-lui (le rendu indisponible) lorsque le composant B tente d'exécuter. Comme l'heure de début des deux emplois variera entre les exécutions, vous pouvez obtenir des cas où le colis semble échouer au hasard.

Pour résoudre le problème, vous devez ajouter une variable supplémentaire de sorte qu'ils ne soient pas partagés ni forcer un composant à compléter avant que l'autre commence (par une dépendance).

J'espère que cela aide.


0 commentaires

0
votes

Vérifiez et assurez-vous aux propriétés de la connexion dans l'éditeur de tâches. Si vous copiez les tâches / la manutention de la connexion à partir d'autres packages, nous devons nous assurer que toutes les propriétés ont été correctement définies correctement.


0 commentaires

1
votes

J'ai eu le même problème. Correction qui a fonctionné pour moi:

Cause de la racine : J'avais créé la variable et l'a utilisé à l'intérieur "Flux de données" pour maintenir la valeur de "Nombre de lignes". Après cela, j'essayais d'utiliser cette variable dans "Flux de contrôle"> "Tâche de script". Il n'a pas fonctionné et m'a donné la même erreur que posté.

correction: J'ai créé les variables et utilisée dans "Tâche de script". Après avoir été utilisé dans la tâche de script, j'ai attribué la valeur du nombre de lignes dans le flux de données> Nombre de lignes.

Cela me semble étrange, mais cela a fonctionné :)


1 commentaires

Pouvez-vous me dire les étapes que vous avez résolues le problème que je vais aller dans des cercles et TVH, je ne comprends pas le concept



0
votes

Une autre variante de cette erreur: J'ai copié une tâche d'un colis à un autre paquet. La tâche contenait des mappages de paramètres, mais la variable source n'était pas disponible dans le nouveau package. Cela a rendu le paramètre mappage invalide.


0 commentaires

0
votes

Si la version exécutée et la version de construction est également différente, vous pouvez obtenir cette erreur. Ex J'ai construit le paquet sur le serveur 2012 et je l'ai rencontré en 2016 et j'ai reçu cette erreur.


0 commentaires

0
votes

Je faisais également face au même problème, mais j'ai maintenant résolu ce problème. J'ai utilisé 2 tâches de système foreachloop et 2 système de fichiers dans mon package, dans la première boucle, j'espérais que les valeurs d'Excel sont entièrement qualifiées à une variable et une même variable que j'utilisais dans la deuxième boucle, c'est pourquoi cette question arrive. J'ai créé une autre variable pour la deuxième boucle et affecter la valeur variable en 2e système de fichiers. Initialement, j'utilisais une seule variable en tant que source dans la tâche du système de fichiers, maintenant créée 2 variable et problème est résolu. Veuillez vous reporter à la SANPSHOT pour voir les détails de l'instantané.

 Entrez la description de l'image ici

 Entrez la description de l'image ici

 Entrez la description de l'image ici


1 commentaires

Veuillez vous reporter à cela si vous faites toutes face au même problème.



0
votes

avait la même erreur lors du débogage. Minimiser le studio Visual, j'ai vu Pop-up avec un message d'erreur derrière celui-ci. En cliquant sur le bouton OK rendu correct d'erreur dans mon studio Visual. C'était à propos de la cartographie des colonnes manquantes. Travaillé après la fixation.


0 commentaires