Freigeben über


sys.fn_cdc_has_column_changed (Transact-SQL)

Gilt für: SQL Server

Identifiziert, ob die angegebene Updatemaske darauf hinweist, dass die angegebene Spalte in der zugeordneten Änderungszeile aktualisiert wurde.

Transact-SQL-Syntaxkonventionen

Syntax

  
sys.fn_cdc_has_column_changed ( 'capture_instance','column_name' , update_mask )  

Argumente

' capture_instance '
Der Name der Aufzeichnungsinstanz. capture_instance ist "sysname".

' column_name '
Ist die erfasste Spalte der angegebenen Aufnahmeinstanz, zu der berichtigt werden soll. column_name ist "sysname".

update_mask
Die Maske zur Identifizierung aktualisierter Spalten in einer zugeordneten Änderungszeile. update_mask ist varbinary(128)

Rückgabetyp

bit

Hinweise

Sie können diese Funktion zum Extrahieren von Informationen aus einer Updatemaske verwenden, die in einer Abfrage nach Änderungsdaten zurückgegeben wurde. Sie empfiehlt sich besonders dann, wenn Sie eine Updatemaske nachgelagert verarbeiten und wissen müssen, ob eine bestimmte Spalte in der zugeordneten Änderungszeile geändert wurde. Weitere Informationen finden Sie unter About Change Data Capture (SQL Server).For more information, see About Change Data Capture (SQL Server)

Wenn diese Informationen als Teil einer Änderungsdatenabfrage zurückgegeben werden, empfiehlt es sich, anstelle dieser Funktion die Funktionen sys.fn_cdc_get_column_ordinal und sys.fn_cdc_is_bit_set zu verwenden. Verwenden Sie die Funktion fn_cdc_get_column_ordinal vor der Abfrage nach Änderungsdaten, sodass die gewünschte Spalten-Ordnungszahl nur einmal berechnet wird. Verwenden Sie fn_cdc_is_bit_set innerhalb der Abfrage, um die Informationen aus dem Aktualisierungsformat für jede zurückgegebene Zeile zu extrahieren.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin oder 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.

Weitere Informationen

CDC.<>capture_instance_CT (Transact-SQL)
cdc.captured_columns (Transact-SQL)