sys.sp_cdc_get_ddl_history (Transact-SQL)

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 des données modifiées a été activée pour cette instance de capture. La capture des données modifiées n'est disponible que dans SQL Server 2008, éditions Enterprise, Developer et Evaluation.

Icône Lien de rubriqueConventions de 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 de type sysname et ne peut pas avoir la valeur NULL.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Jeux de résultats

Nom de 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 changements DDL apportés à la table source qui modifient la structure de colonne de table source, tels que l'ajout ou la suppression d'une colonne, ou la modification du type de données d'une colonne existante, sont conservés dans la table cdc.ddl_history. Ces modifications peuvent être signalées en utilisant cette procédure stockée. Les entrées dans cdc.ddl_history sont effectuées au moment où le processus de capture lit la transaction DDL dans le journal.

Autorisations

Requiert l'appartenance au rôle de base de données fixe db_owner pour retourner les lignes de toutes les instances de capture dans 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 AdventureWorks;
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