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 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 toutes les éditions de Microsoft SQL Server. Pour obtenir une liste des fonctionnalités prises en charge par les éditions de SQL Server, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2012.
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 de type sysname et ne peut pas être NULL.
Valeurs des codes de retour
0 (réussite) ou 1 (échec)
Jeux 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 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 AdventureWorks2012;
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