MatinDeadlock sur les changements de valeur de la variable journalisation à l'aide d'une tâche SQL
J'ai lu "SQL Server 2008 Integration Services Problème - Design - Solution". Il décrit une façon de consigner les modifications de variables que j'essaie de répliquer dans SQL 2005.
- Créer des variables, par ex. PackageId, RecordsAffected. - Définissez Raise ChangeEvent sur true.
- Créer une variable de chaîne g.g. strVariableValue. - Définissez Raise ChangeEvent sur false.
- Dans le gestionnaire d'événements de package: OnVariableValueChanged, ajoutez une tâche de script "SCR Convert value to string".
- Ajouter ReadOnlyVariables: System :: VariableValue
- Ajouter ReadWriteVariables: User :: strVariableValue
- Dans le script, définir une variable locale System :: VariableValue.value.tostring
- Définissez la variable utilisateur :: strVariableValue à la variable locale
- Ajoutez un composant "Exécuter une tâche SQL" "Valeur de variable de journal SQL modifiée" appelant un SP sans résultats.
- Définissez le paramètre mappage utilisateur :: IDPack, System :: VariableName, utilisateur :: strVariableValue
Lorsque cela est exécuté, je reçois une impasse sur l'utilisateur :: PackageID
Erreur: 0xC001405B à SQL Log Variable Value Changed: Un blocage a été détecté lors de la tentative de verrouillage de la variable "User :: _ PackageID" pour un accès en lecture. Un verrou n'a pas pu être acquis après 16 tentatives et a expiré.
L'action de script réussit mais la tâche d'exécution SQL échoue. J'utilise Visual Studio 2005 version 8.0.50727.42, Microsoft SQL Server Integration Services Designer version 9.00.4035.00 et BIDSHelper version 1.4.3.0.
Des idées?