Condividi tramite


sys.sp_cdc_get_captured_columns (Transact-SQL)

Restituisce informazioni sui metadati dell'acquisizione dei dati delle modifiche per le colonne di origine acquisite registrate dall'istanza di acquisizione specificata. 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_captured_columns 
    [ @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 è di tipo sysname e il valore non può essere NULL.

    Per generare un report delle istanze di acquisizione per la tabella, eseguire la stored procedure sys.sp_cdc_help_change_data_capture.

Valori 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.

column_name

sysname

Nome della colonna di origine dell'acquisizione.

column_id

int

ID della colonna della tabella di origine.

ordinal_position

int

Posizione della colonna all'interno della tabella di origine.

data_type

sysname

Tipo di dati della colonna.

character_maximum_length

int

Lunghezza massima in caratteri della colonna se questa è basata su caratteri. In caso contrario il valore è NULL.

numeric_precision

tinyint

Precisione della colonna se questa è basata su valori numerici. In caso contrario il valore è NULL.

numeric_precision_radix

smallint

Radice di precisione della colonna se questa è basata su valori numerici. In caso contrario il valore è NULL.

numeric_scale

int

Scala della colonna se questa è basata su valori numerici. In caso contrario il valore è NULL.

datetime_precision

smallint

Precisione della colonna se questa è basata su valori datetime. In caso contrario il valore è NULL.

Osservazioni

Utilizzare sys.sp_cdc_get_captured_columns per ottenere informazioni sulle colonne acquisite restituite dall'esecuzione di una query sulle funzioni di query dell'istanza di acquisizione cdc.fn_cdc_get_all_changes_<capture_instance> o cdc.fn_cdc_get_net_changes_<capture_instance>. I nomi di colonna, gli ID e la posizione rimangono costanti per tutta la durata dell'istanza di acquisizione. Solo il tipo di dati delle colonne cambia quando cambia il tipo di dati delle colonne di origine sottostanti nella tabella registrata. Le colonne aggiunte o eliminate da una tabella di origine non influiscono sulle colonne acquisite di istanze di acquisizione esistenti. Per ulteriori informazioni, vedere Configurazione di Change Data Capture.

Utilizzare sys.sp_cdc_get_ddl_history per ottenere informazioni sulle istruzioni DDL (Data Definition Language) applicate a una tabella di origine. Le modifiche DDL che influiscono sulla struttura di una colonna di origine registrata vengono restituite nel set di risultati.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del database db_owner. 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. Se il chiamante non dispone delle autorizzazioni per visualizzare i dati di origine, la funzione restituisce l'errore 22981 (Oggetto inesistente o accesso negato).

Esempi

Nell'esempio seguente sono restituite le informazioni sulle colonne acquisite nell'istanza di acquisizione HumanResources_Employee.

USE AdventureWorks;
GO
EXECUTE sys.sp_cdc_get_captured_columns 
    @capture_instance = N'HumanResources_Employee';
GO