Freigeben über


sys.sp_cdc_get_captured_columns (Transact-SQL)

Gibt Metadateninformationen von Change Data Capture für die aufgezeichneten Quellspalten zurück, die von der angegebenen Aufzeichnungsinstanz nachverfolgt wurden. Change Data Capture ist nicht in jeder Edition von Microsoft SQL Server verfügbar. Eine Liste der Funktionen, die von den Editionen von SQL Server unterstützt werden, finden Sie unter Von den SQL Server 2014-Editionen unterstützte Funktionen.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sys.sp_cdc_get_captured_columns 
    [ @capture_instance = ] 'capture_instance'

Argumente

  • [ @capture\_instance = ] 'capture_instance'
    Der Name der Aufzeichnungsinstanz, die der Quelltabelle zugeordnet ist. capture_instance ist vom Datentyp sysname und darf nicht NULL sein.

    Führen Sie die gespeicherte Prozedur sys.sp_cdc_help_change_data_capture aus, damit ein Bericht über die Aufzeichnungsinstanzen für die Tabelle erstellt wird.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Spaltenname

Datentyp

Beschreibung

source_schema

sysname

Name des Quelltabellenschemas.

source_table

sysname

Name der Quelltabelle.

capture_instance

sysname

Name der Aufzeichnungsinstanz.

column_name

sysname

Name der aufgezeichneten Quellspalte.

column_id

int

ID der Spalte in der Quelltabelle.

ordinal_position

int

Position der Spalte innerhalb der Quelltabelle.

data_type

sysname

Datentyp der Spalte

character_maximum_length

int

Maximale Zeichenlänge der zeichenbasierten Spalte; andernfalls NULL.

numeric_precision

tinyint

Genauigkeit der Spalte, wenn sie auf numerischen Werten basiert; andernfalls NULL.

numeric_precision_radix

smallint

Basis der Genauigkeit der Spalte, wenn sie auf numerischen Werten basiert; andernfalls NULL.

numeric_scale

int

Dezimalstellen der Spalte, wenn sie auf numerischen Werten basiert; andernfalls NULL.

datetime_precision

smallint

Genauigkeit der Spalte, wenn sie auf datetime-Werten basiert; andernfalls NULL.

Hinweise

Verwenden Sie sys.sp_cdc_get_captured_columns, um Spalteninformationen zu den aufgezeichneten Spalten abzurufen, die durch die Abfrage der Aufzeichnungsinstanz über die Abfragefunktionen cdc.fn_cdc_get_all_changes_<capture_instance> oder cdc.fn_cdc_get_net_changes_<capture_instance> zurückgegeben wurden. Die Spaltennamen, IDs und Position bleiben während der Lebensdauer der Aufzeichnungsinstanz konstant. Nur die Spaltendatentypen ändern sich, wenn sich der Datentyp der zugrunde liegenden Quellspalte in der nachverfolgten Tabelle ändert. Spalten, die zu einer Quelltabelle hinzugefügt oder aus dieser gelöscht werden, wirken sich nicht auf die aufgezeichneten Spalten der vorhandenen Aufzeichnungsinstanzen aus.

Verwenden Sie sys.sp_cdc_get_ddl_history, um Informationen zu DDL (Data Definition Language)-Anweisungen zu erhalten, die auf eine Quelltabelle angewendet werden. Alle DDL-Änderungen, die die Struktur einer nachverfolgten Quellspalte geändert haben, werden im Resultset zurückgegeben.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Datenbankrolle db_owner. Für alle anderen Benutzer ist die SELECT-Berechtigung für alle aufgezeichneten Spalten in der Quelltabelle und, wenn eine Gatingrolle für die Aufzeichnungsinstanz definiert wurde, eine Mitgliedschaft in dieser Datenbankrolle erforderlich. Wenn der Aufrufer über keine Berechtigungen zum Anzeigen der Quelldaten verfügt, gibt die Funktion den Fehler 22981 zurück ("Das Objekt ist nicht vorhanden oder der Zugriff wurde verweigert").

Beispiele

Im folgenden Beispiel werden Informationen zu den aufgezeichneten Spalten in der HumanResources_Employee-Aufzeichnungsinstanz zurückgegeben.

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

Siehe auch

Verweis

sys.sp_cdc_help_change_data_capture (Transact-SQL)