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.
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
Vedere anche