sys.sp_cdc_get_ddl_history (Transact-SQL)
Restituisce la cronologia delle modifiche Data Definition Language (DDL) associata all'istanza di acquisizione specificata poiché l'acquisizione dei dati delle modifiche è stata abilitata per quell'istanza di acquisizione. L'acquisizione dei dati delle modifiche è disponibile solo nelle edizioni Enterprise e Developer e nelle copie di valutazione di SQL Server 2008.
Sintassi
sys.sp_cdc_get_ddl_history [ @capture_instance = ] 'capture_instance'
Argomenti
- [ @capture_instance = ] 'capture_instance'
Nome della tabella di origine dell'istanza di acquisizione associata a una tabella di origine. capture_instance è sysname e il valore 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 AdventureWorks2008R2;
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
Vedere anche