sys.sp_cdc_get_ddl_history (Transact-SQL)

S’applique à :SQL Server

Retourne l'historique des modifications de langage de définition de données (DDL) associé à l'instance de capture spécifiée depuis que la capture de données modifiées a été activée pour cette instance de capture. La capture de données modifiées n’est pas disponible dans chaque édition de SQL Server. Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL Server, consultez Éditions et fonctionnalités prises en charge de SQL Server 2022.

Conventions de la syntaxe Transact-SQL

Syntaxe

sys.sp_cdc_get_ddl_history [ @capture_instance = ] 'capture_instance'
[ ; ]

Arguments

[ @capture_instance = ] 'capture_instance'

Nom de l’instance de capture associée à une table source. @capture_instance est sysname et ne peut pas être NULL.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Nom de la colonne Type de données Description
source_schema sysname Nom du schéma de table source.
source_table sysname Nom de la table source.
capture_instance sysname Nom de l'instance de capture.
required_column_update bit Indique que la modification DDL a nécessité la modification d'une colonne dans la table de modifications pour refléter une modification de type de données effectuée sur la colonne source.
ddl_command nvarchar(max) Instruction DDL appliquée à la table source.
ddl_lsn binary(10) Numéro séquentiel dans le journal associé à la modification DDL.
ddl_time datetime Heure associée à la modification DDL.

Notes

Les modifications DDL apportées à la table source qui modifient la structure de colonne de la table source, telles que l’ajout ou la suppression d’une colonne, ou la modification du type de données d’une colonne existante, sont conservées dans la table cdc.ddl_history . Ces modifications peuvent être signalées en utilisant cette procédure stockée. Les entrées sont cdc.ddl_history effectuées au moment où le processus de capture lit la transaction DDL dans le journal.

Autorisations

Nécessite l’appartenance au rôle de base de données fixe db_owner pour retourner des lignes pour toutes les instances de capture de la base de données. Pour tous les autres utilisateurs, requiert l'autorisation SELECT sur toutes les colonnes capturées dans la table source et, si un rôle de régulation pour l'instance de capture a été défini, l'appartenance à ce rôle de base de données.

Exemples

L'exemple suivant ajoute une colonne à la table source HumanResources.Employee, puis exécute la procédure stockée sys.sp_cdc_get_ddl_history pour signaler les modifications DDL qui s'appliquent à la table source associée à l'instance de capture HumanResources_Employee.

USE AdventureWorks2022;
GO

ALTER TABLE HumanResources.Employee
ADD Test_Column INT NULL;
GO

-- Pause 10 seconds to allow the event to be logged.
WAITFOR DELAY '00:00:10';
GO

EXECUTE sys.sp_cdc_get_ddl_history
    @capture_instance = 'HumanResources_Employee';
GO