Partager via


Variables système

SQL Server Integration Services fournit un ensemble de variables système qui stockent des informations sur le package en cours d'exécution et ses objets. Ces variables peuvent être utilisées dans des expressions et des propriétés d'expressions afin de personnaliser des packages, des conteneurs, des tâches et des gestionnaires d'événements.

Toutes les variables (système et définies par l’utilisateur) peuvent être utilisées dans les liaisons de paramètres que la tâche d’exécution SQL utilise pour mapper des variables à des paramètres.

Variables système pour les packages

Le tableau suivant décrit les variables système fournies par Integration Services pour les packages.

Variable système Type de données Descriptif
CancelEvent Int32 Gestionnaire d'un objet d'événement Windows que la tâche peut signaler pour indiquer que la tâche doit interrompre son exécution.
ContainerStartTime Date et heure Heure de démarrage du conteneur.
CreationDate Date et heure Date de création du package.
CreatorComputerName Chaîne Ordinateur sur lequel le package a été créé.
CreatorName Chaîne Nom de la personne qui a créé le package.
ExecutionInstanceGUID Chaîne Identificateur unique de l'instance exécutée d'un package.
FailedConfigurations Chaîne Noms des configurations de package ayant échoué.
IgnoreConfigurationsOnLoad Booléen Indique si les configurations de package doivent être ignorées lors du chargement du package.
InteractiveMode Booléen Indique si le package est exécuté en mode interactif. Si un package s’exécute dans le Concepteur SSIS, cette propriété est définie sur True. Si un package s’exécute à l’aide de l’utilitaire d’invite de commandes DTExec, la propriété est définie à False.
LocaleId Int32 Paramètre régional utilisé par le package.
MachineName Chaîne Nom de l'ordinateur sur lequel s'exécute le package.
OfflineMode Booléen Indique si le package est en mode hors connexion. Le mode hors connexion n'acquiert pas de connexions à des sources de données.
PackageID Chaîne Identificateur unique du package.
PackageName Chaîne Nom du package.
StartTime Date et heure Heure de début d'exécution du package.
ServerExecutionID Int64 ID d'exécution du package exécuté sur le serveur Integration Services .

La valeur par défaut est zéro. La valeur est modifiée uniquement si le package est exécuté par ISServerExec sur le serveur Integration Services . Lorsqu'il existe un package enfant, la valeur est passée du package parent au package enfant.
Nom d’utilisateur Chaîne Compte de l'utilisateur qui a démarré le package. Le nom d'utilisateur est qualifié par le nom de domaine.
VersionBuild Int32 Version du package.
VersionComment Chaîne Commentaires sur la version du package.
VersionGUID Chaîne Identificateur unique de la version.
VersionMajeure Int32 Version principale du package.
VersionMinor Int32 Version secondaire du package.

Variables système pour les conteneurs

Le tableau suivant décrit les variables système fournies par Integration Services pour les conteneurs de boucles For, de boucles Foreach et de séquence.

Variable système Type de données Descriptif Conteneur
LocaleId Int32 Paramètre régional utilisé par le conteneur. Conteneur de boucles For

Conteneur de boucles Foreach

conteneur de séquences

Variables système pour les tâches

Le tableau suivant décrit les variables système fournies par Integration Services pour les tâches.

Variable système Type de données Descriptif
CreationName Chaîne Nom de la tâche.
LocaleId Int32 Paramètre régional utilisé par la tâche.
TaskID Chaîne Identificateur unique d'une instance de tâche.
TaskName Chaîne Nom de l'instance de tâche.
TaskTransactionOption Int32 Option de transaction utilisée par la tâche.

Variables système pour les gestionnaires d'événements

Le tableau suivant décrit les variables système fournies par Integration Services pour les gestionnaires d'événements. Toutes les variables ne sont pas disponibles pour tous les gestionnaires d'événements.

Variable système Type de données Descriptif Gestionnaire d’événements
Annuler Booléen Indique si l'exécution du gestionnaire d'événements s'arrête lorsqu'une erreur, un avertissement ou une annulation de requête se produit. Gestionnaire d'événements OnError

Gestionnaire d'événements OnWarning

Gestionnaire d'événements OnQueryCancel
Code d’erreur Int32 Identificateur de l'erreur. Gestionnaire d'événements OnError

Gestionnaire d'événements OnInformation

Gestionnaire d'événements OnWarning
ErrorDescription Chaîne Description de l'erreur. Gestionnaire d'événements OnError

Gestionnaire d'événements OnInformation

Gestionnaire d'événements OnWarning
ExecutionStatus Booléen État de l'exécution en cours. Gestionnaire d'événements OnExecStatusChanged
ExecutionValue DBNull Valeur de l'exécution. Gestionnaire d'événements OnTaskFailed
LocaleId Int32 Paramètre régional utilisé par le gestionnaire d'événements. Tous les gestionnaires d'événements
percentComplete Int32 Pourcentage de travail terminé. Gestionnaire d'événements OnProgress
ProgressCountHigh Int32 Partie supérieure d'une valeur 64 bits qui indique le nombre total d'opérations traitées par l'événement OnProgress. Gestionnaire d'événements OnProgress
ProgressCountLow Int32 Partie inférieure d'une valeur 64 bits qui indique le nombre total d'opérations traitées par l'événement OnProgress. Gestionnaire d'événements OnProgress
ProgressDescription Chaîne Description de la progression. Gestionnaire d'événements OnProgress
Propagate Booléen Indique si l'événement est propagé à un gestionnaire d'événements de niveau supérieur.

Remarque : La valeur de la Propagate variable est ignorée pendant la validation du package.

Si vous définissez PropagateFalse sur un package enfant, cela n’empêche pas la propagation d’un événement vers le package parent.
Tous les gestionnaires d'événements
SourceDescription Chaîne Description de l'exécutable dans le gestionnaire d'événements qui a déclenché l'événement. Tous les gestionnaires d'événements
SourceID Chaîne Identificateur unique de l'exécutable dans le gestionnaire d'événements qui a déclenché l'événement. Tous les gestionnaires d'événements
SourceName Chaîne Nom de l'exécutable dans le gestionnaire d'événements qui a déclenché l'événement. Tous les gestionnaires d'événements
VariableDescription Chaîne Description de la variable. Gestionnaire d'événements OnVariableValueChanged
VariableID Chaîne Identificateur unique de la variable. Gestionnaire d'événements OnVariableValueChanged

Variables système dans des liaisons de paramètres

Il est souvent pratique d'enregistrer les valeurs de variables système dans des tables lors de l'exécution du package. Par exemple, un package qui crée dynamiquement une table et écrit le GUID de l'instance d'exécution du package qui a créé la table dans une colonne de table.

Si vous utilisez des variables système pour effectuer un mappage à des paramètres dans l'instruction SQL qu'une tâche d'exécution SQL utilise, il est important d'affecter au type de données de chaque liaison de paramètre le type de données de la variable système. Sinon, les valeurs des variable système pourraient être mal traduites. Par exemple, si la ExecutionInstanceGUID variable système, qui a le type de données de chaîne et contient une chaîne qui représente le GUID de l’instance en cours d’exécution d’un package, est utilisée dans une liaison de paramètre avec le type de données GUID, le GUID de l’instance de package sera traduit de manière incorrecte.

Cette règle s'applique également aux variables définies par l'utilisateur. Cependant, lorsque les types de données de variables système ne peuvent pas être modifiés et si vous devez personnaliser l'utilisation de ces variables en fonction des types de données, les variables définies par l'utilisateur offrent plus de souplesse. Les variables définies par l'utilisateur qui sont utilisées dans des liaisons de paramètres sont généralement définies avec des types de données compatibles avec les types de données des paramètres auxquels elles sont mappées.

Mapper des paramètres de requête à des variables dans une tâche d’exécution SQL