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