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) or 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