sys.sp_cdc_get_captured_columns (Transact-SQL)
Restituisce le informazioni sui metadati di Change Data Capture per le colonne di origine acquisite registrate dall'istanza di acquisizione specificata. 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_captured_columns
[ @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.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 acquisita. |
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.
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 AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_get_captured_columns
@capture_instance = N'HumanResources_Employee';
GO