Condividi tramite


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.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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