sysdac_history_internal (Transact-SQL)
Contient des informations sur les actions entreprises pour gérer les applications de la couche Données (DAC). Cette table est stockée dans le schéma dbo de la base de données msdb.
Nom de colonne |
Type de données |
Description |
---|---|---|
action_id |
int |
Identificateur de l'action. |
sequence_id |
int |
Identifie une étape dans une action. |
instance_id |
uniqueidentifier |
Identificateur de l'instance DAC. Il est possible de joindre cette colonne à la colonne instance_id dans dbo.sysdac_instances (Transact-SQL). |
action_type |
tinyint |
Identificateur du type d'action : 0 = déploiement 1 = création 2 = changement de nom 3 = détachement 4 = suppression |
action_type_name |
varchar(19) |
Nom du type d'action : déployer créer renommer détachement supprimer |
dac_object_type |
tinyint |
Identificateur du type d'objet affecté par l'action : 0 = dacpac 1 = connexion 2 = base de données |
dac_object_type_name |
varchar(8) |
Nom du type d'objet affecté par l'action : dacpac = instance DAC connexion base de données |
action_status |
tinyint |
Code qui identifie l'état actuel de l'action : 0 = en attente 1 = réussite 2 = échec |
action_status_name |
varchar(11) |
État actuel de l'action : en attente réussite échec |
Requis |
bit |
Utilisé par le moteur de base de données lors de la restauration d'une opération DAC. |
dac_object_name_pretran |
sysname |
Nom de l'objet avant la validation de la transaction qui contient l'action. Utilisé uniquement pour les bases de données et les connexions. |
dac_object_name_posttran |
sysname |
Nom de l'objet après la validation de la transaction qui contient l'action. Utilisé uniquement pour les bases de données et les connexions. |
sqlscript |
nvarchar(max) |
Script Transact-SQL qui implémente une action sur une base de données ou connexion. |
payload |
varbinary(max) |
Définition de package DAC enregistrée dans une chaîne encodée au format binaire. |
Commentaires |
varchar(max) |
Enregistre la connexion d'un utilisateur qui a accepté la perte de données potentielle dans une mise à niveau DAC. |
error_string |
nvarchar(max) |
Message d'erreur généré si une erreur se produit lors de l'action. |
created_by |
sysname |
Connexion à l'origine de l'action qui a créé cette entrée. |
date_created |
datetime |
Date et heure de création de cette entrée. |
date_modified |
datetime |
Date et heure de la dernière modification apportée à l'entrée. |
Notes
Les actions de gestion de la DAC, telles que le déploiement ou la suppression d'une DAC, génèrent plusieurs étapes. Un identificateur d'action est attribué à chaque action. Un numéro de séquence et une ligne dans sysdac_history_internal, où l'état de l'étape est enregistré, sont attribués à chaque étape. Chaque ligne est créée lors du démarrage de l'étape de l'action et est mise à jour autant que nécessaire pour refléter l'état de l'opération. Par exemple, action_id 12 et quatre lignes dans sysdac_history_internal pourraient être attribués à une action de déploiement d'une DAC :
action_id |
sequence_id |
action_type_name |
dac_object_type_name |
12 |
0 |
créer |
dacpac |
12 |
1 |
créer |
connexion |
12 |
2 |
créer |
base de données |
12 |
3 |
renommer |
base de données |
Les opérations DAC, telles que la suppression, ne suppriment pas de lignes dans sysdac_history_internal. Vous pouvez utiliser la requête suivante pour supprimer manuellement les lignes pour les opérations DAC qui ne sont plus déployées sur une instance du moteur de base de données :
DELETE FROM msdb.dbo.sysdac_history_internal
WHERE instance_id NOT IN
(SELECT instance_id
FROM msdb.dbo.sysdac_instances_internal);
La suppression de lignes pour les opérations DAC actives n'a aucune incidence sur les opérations DAC, si ce n'est que vous ne pourrez pas créer de rapport sur l'historique complet de l'opérations DAC.
[!REMARQUE]
Actuellement, il n'existe aucun mécanisme pour supprimer des lignes sysdac_history_internal sur SQL Azure.
Voir aussi
Référence
dbo.sysdac_instances (Transact-SQL)
sysdac_instances_internal (Transact-SQL)