Freigeben über


sys.sp_cdc_get_captured_columns (Transact-SQL)

Gilt für: SQL Server

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

Transact-SQL-Syntaxkonventionen

Syntax

sys.sp_cdc_get_captured_columns
    [ @capture_instance = ] 'capture_instance'
[ ; ]

Argumente

[ @capture_instance = ] 'capture_instance'

Der Name der Aufnahmeinstanz, die einer Quelltabelle zugeordnet ist. @capture_instance ist "sysname" und kann nicht seinNULL.

Führen Sie zum Melden der Aufnahmeinstanzen für die Tabelle die sys.sp_cdc_help_change_data_capture gespeicherte Prozedur aus.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

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.
column_ordinal int Position der Spalte innerhalb der Quelltabelle.
data_type sysname Spaltendatentyp.
character_maximum_length int Maximale Zeichenlänge der zeichenbasierten Spalte; andernfalls . NULL
numeric_precision tinyint Genauigkeit der Spalte, wenn numerisch basiert; andernfalls . NULL
numeric_precision_radix smallint Genauigkeitsradiix der Spalte, wenn numerisch basiert; andernfalls . NULL
numeric_scale int Skalierung der Spalte, wenn numerisch basiert; andernfalls . NULL
datetime_precision smallint Genauigkeit der Spalte, wenn datumstimebasiert; andernfalls . NULL

Hinweise

Dient sys.sp_cdc_get_captured_columns zum Abrufen von Spalteninformationen zu den erfassten Spalten, die durch Abfragen der Abfragefunktionen der Erfassungsinstanzabfragen cdc.fn_cdc_get_all_changes_<capture_instance> oder cdc.fn_cdc_get_net_changes_<capture_instance> zurückgegeben werden. 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 einer Quelltabelle hinzugefügt oder gelöscht werden, wirken sich nicht auf die erfassten Spalten vorhandener Aufnahmeinstanzen aus.

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

Berechtigungen

Hierfür ist die Mitgliedschaft in der festen Datenbankrolle db_owner erforderlich. 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 nicht über die Berechtigung zum Anzeigen der Quelldaten verfügt, gibt die Funktion Den Fehler 22981 (Object doesn't exist or access is denied.) zurück.

Beispiele

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

USE AdventureWorks2022;
GO

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