Tables d’applications de la couche Données - sysdac_history_internal
S'applique à : SQL Server
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 la 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. Cette colonne peut être jointe sur la colonne instance_id dans dbo.sysdac_instances (Transact-SQL). |
action_type | tinyint | Identificateur du type d'action : 0 = déployer 1 = créer 2 = renommer 3 = détacher 4 = supprimer |
action_type_name | varchar(19) | Nom du type d'action : deploy create rename détacher delete |
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 login database |
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 success fail |
Obligatoire | 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 une 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. Chaque étape reçoit un numéro de séquence et une ligne dans sysdac_history_internal, où l’état de l’étape est enregistré. 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, une action de déploiement DAC peut être affectée action_id 12 et obtenir quatre lignes dans sysdac_history_internal :
action_id | sequence_id | action_type_name | dac_object_type_name |
---|---|---|---|
12 | 0 | create | dacpac |
12 | 1 | create | nom de connexion |
12 | 2 | create | database |
12 | 3 | rename | database |
Les opérations DAC, telles que la suppression, ne suppriment pas les lignes de sysdac_history_internal. Vous pouvez utiliser la requête suivante pour supprimer manuellement les lignes pour les contrôleurs de domaine non déployés 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 permettant de supprimer sysdac_history_internal lignes sur Azure SQL Database.
autorisations
Nécessite l'appartenance au rôle serveur fixe sysadmin . L’accès en lecture seule à cette vue est disponible pour tous les utilisateurs disposant des autorisations nécessaires pour se connecter à la base de données master.
Voir aussi
Applications de la couche Données
dbo.sysdac_instances (Transact-SQL)
sysdac_instances_internal (Transact-SQL)