Freigeben über


sys.fn_cdc_has_column_changed (Transact-SQL)

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

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

Themenlink (Symbol) 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 '
    Die aufgezeichnete Spalte der angegebenen Aufzeichnungsinstanz, für die ein Bericht erstellt 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 Über Change Data Capture (SQL Server).

Wenn diese Informationen als Teil einer Abfrage von Änderungsdaten zurückgegeben werden, sollten Sie anstatt dieser Funktion die Funktionen sys.fn_cdc_get_column_ordinal und sys.fn_cdc_is_bit_set verwenden. Verwenden Sie die Funktion fn_cdc_get_column_ordinal, bevor Sie Änderungsdaten abfragen, sodass die gewünschte Spaltenordnungszahl nur einmal berechnet wird. Verwenden Sie fn_cdc_is_bit_set innerhalb der Abfrage, um die Informationen aus der Updatemaske für jede zurückgegebene Zeile zu extrahieren.

Berechtigungen

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

Siehe auch

Verweis

cdc.<capture_instance>_CT (Transact-SQL)

cdc.captured_columns (Transact-SQL)