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 | Description |
---|---|---|
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 |
DateTime | Heure de démarrage du conteneur. |
CreationDate | DateTime | Date de création du package. |
CreatorComputerName |
String | Ordinateur sur lequel le package a été créé. |
CreatorName | String | Nom de la personne qui a créé le package. |
ExecutionInstanceGUID |
String | Identificateur unique de l'instance exécutée d'un package. |
FailedConfigurations |
String | 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 est en cours d’exécution dans SSIS Designer, cette propriété a la True valeur . Si un package est en cours d’exécution à l’aide de l’utilitaire d’invite de commandes DTExec , la propriété a la valeur False . |
LocaleId |
Int32 | Paramètre régional utilisé par le package. |
MachineName | String | 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 | String | Identificateur unique du package. |
PackageName | String | Nom du package. |
StartTime | DateTime | 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. |
UserName | String | 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 | String | Commentaires sur la version du package. |
VersionGUID | String | Identificateur unique de la version. |
VersionMajor | 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 | Description | 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 | Description |
---|---|---|
CreationName | String | Nom de la tâche. |
LocaleId |
Int32 | Paramètre régional utilisé par la tâche. |
TaskID | String | Identificateur unique d'une instance de tâche. |
TaskName | String | 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 | Description | 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 |
ErrorCode | Int32 | Identificateur de l'erreur. | Gestionnaire d'événements OnError Gestionnaire d'événements OnInformation Gestionnaire d'événements OnWarning |
ErrorDescription | String | 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 | String | 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 variable Propagate est ignorée lors de la validation du package.Si vous affectez la valeur Propagate à False dans un package enfant, cela n'empêche pas la propagation d'un événement à un package parent. |
Tous les gestionnaires d'événements |
SourceDescription |
String | 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 |
String | 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 | String | 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 |
String | Description de la variable. | Gestionnaire d'événements OnVariableValueChanged |
VariableID |
String | 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 variable système ExecutionInstanceGUID
, qui a le type de données String et contient une chaîne représentant le GUID de l'instance 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 du package ne sera pas traduit correctement.
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.
Tâches associées
Mapper des paramètres de requête à des variables dans une tâche d’exécution SQL