Share via


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.

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 vom Datentyp sysname.

  • 'column_name'
    Die aufgezeichnete Spalte der angegebenen Aufzeichnungsinstanz, für die ein Bericht erstellt werden soll. column_name ist vom Datentyp sysname.

  • update_mask
    Die Maske, die die aktualisierten Spalten in jeder zugeordneten Änderungszeile identifiziert. update_mask ist vom Datentyp 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 Abrufen und Verstehen der Änderungsdaten.

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 vor der Abfrage von Änderungsdaten die Funktion fn_cdc_get_column_ordinal, sodass die gewünschte Spaltenordnungszahl nur einmal berechnet wird. Verwenden Sie fn_cdc_is_bit_set in der Abfrage, um für jede zurückgegebene Zeile die Informationen aus der Updatemaske 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.