sys.sp_cdc_get_ddl_history (Transact-SQL)
Restituisce la cronologia delle modifiche Data Definition Language (DDL) associata all'istanza di acquisizione specificata a partire dall'abilitazione di Change Data Capture per l'istanza di acquisizione. Change Data Capture non è disponibile in ogni edizione di Microsoft SQL Server. Per un elenco delle funzionalità supportate dalle edizioni di SQL Server, vedere Funzionalità supportate dalle edizioni di SQL Server 2012.
Convenzioni della sintassi Transact-SQL
Sintassi
sys.sp_cdc_get_ddl_history [ @capture_instance = ] 'capture_instance'
Argomenti
- [ @capture\_instance = ] 'capture_instance'
Nome dell'istanza di acquisizione associata a una tabella di origine. capture_instance è di tipo sysname e non può essere NULL.
Codici restituiti
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
source_schema |
sysname |
Nome dello schema della tabella di origine. |
source_table |
sysname |
Nome della tabella di origine. |
capture_instance |
sysname |
Nome dell'istanza di acquisizione. |
required_column_update |
bit |
Indica che la modifica DDL ha richiesto una colonna della tabella delle modifiche che deve essere modificata per riflettere una modifica del tipo di dati apportata alla colonna di origine. |
ddl_command |
nvarchar(max) |
Istruzione DDL applicata alla tabella di origine. |
ddl_lsn |
binary(10) |
Numero di sequenza del file di log (LSN) associato alla modifica DDL. |
ddl_time |
datetime |
Ora associata alla modifica DDL. |
Osservazioni
Le modifiche DDL della tabella di origine che modificano la struttura della colonna della tabella di origine, ad esempio l'aggiunta o l'eliminazione del tipo di dati di una colonna esistente, vengono gestite nella tabella cdc.ddl_history. È possibile creare un report su queste modifiche utilizzando questa stored procedure. Le voci di cdc.ddl_history vengono create quando il processo di acquisizione legge la transazione DDL nel log.
Autorizzazioni
Richiede l'appartenenza al ruolo predefinito del database db_owner per la restituzione delle righe relative a tutte le istanze di acquisizione del database. Per tutti gli altri utenti, è richiesta l'autorizzazione SELECT su tutte le colonne acquisite nella tabella di origine e, se è stato definito un ruolo di controllo per l'istanza di acquisizione, l'appartenenza a tale ruolo del database.
Esempi
Nell'esempio seguente viene aggiunta una colonna alla tabella di origine HumanResources.Employee e viene eseguita la stored procedure sys.sp_cdc_get_ddl_history per creare un report sulle modifiche DDL che si applicano alla tabella di origine associata all'istanza di acquisizione 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