Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Gibt die Spalten-Ordnungszahl der angegebenen Spalte zurück, wie sie in der Änderungstabelle angezeigt wird, die der angegebenen Aufnahmeinstanz zugeordnet ist.
Transact-SQL-Syntaxkonventionen
Syntax
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')
Argumente
' capture_instance '
Der Name der Aufzeichnungsinstanz, in der die angegebene Spalte als aufgezeichnete Spalte identifiziert wird. capture_instance ist "sysname".
' column_name '
Ist die Spalte, an der Bericht erstellt werden soll. column_name ist "sysname".
Rückgabetyp
int
Hinweise
Diese Funktion dient zum Identifizieren der Ordnungsposition einer in der Change Data Capture-Updatemaske aufgezeichneten Spalte. Es wird hauptsächlich in Verbindung mit der Funktion sys.fn_cdc_is_bit_set verwendet, um Informationen aus dem Aktualisierungsformat zu extrahieren, wenn Sie Änderungsdaten abfragen.
Berechtigungen
Erfordert SELECT-Berechtigung für alle erfassten Spalten der Quelltabelle. Wenn für die Aufzeichnungsinstanz eine Datenbankrolle für die Change Data Capture-Komponente angegeben ist, erfordert dies ebenfalls die Mitgliedschaft in der entsprechenden Rolle.
Beispiele
Im folgenden Beispiel wird für die Aufzeichnungsinstanz VacationHours
die Ordnungsposition der HumanResources_Employee
-Spalte in der Updatemaske abgerufen. Der Wert wird daraufhin für den Aufruf von sys.fn_cdc_is_bit_set
verwendet, um Informationen aus der zurückgegebenen Updatemaske zu extrahieren.
USE AdventureWorks2022;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10), @VacationHoursOrdinal int;
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');
SET @to_lsn = sys.fn_cdc_get_max_lsn();
SET @VacationHoursOrdinal = sys.fn_cdc_get_column_ordinal
( 'HumanResources_Employee','VacationHours');
SELECT *, sys.fn_cdc_is_bit_set(@VacationHoursOrdinal,
__$update_mask) as 'VacationHours'
FROM cdc.fn_cdc_get_net_changes_HumanResources_Employee
( @from_lsn, @to_lsn, 'all with mask');
GO
Weitere Informationen
Change Data Capture Functions (Transact-SQL)
Über Change Data Capture (SQL Server)
sys.sp_cdc_help_change_data_capture (Transact-SQL)
sys.sp_cdc_get_captured_columns (Transact-SQL)
sys.fn_cdc_is_bit_set (Transact-SQL)