sys.fn_cdc_has_column_changed (Transact-SQL)

Dotyczy:SQL Server

Identyfikuje, czy określona maska aktualizacji wskazuje, że dana kolumna została zaktualizowana w powiązanym wierszu zmiany.

Transact-SQL konwencje składni

Syntax

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

Arguments

'capture_instance'
To nazwa instancji przechwytu. capture_instance to nazwa systemu.

'column_name'
To przechwycona kolumna określonego przechwytu do raportowania. column_name to nazwa sysname.

update_mask
Czy maska identyfikuje zaktualizowane kolumny w dowolnym powiązanym wierszu zmian. update_mask jest warbinary(128).

Zwracany typ

bit

Remarks

Możesz użyć tej funkcji do wyodrębnienia informacji z maski aktualizacji zwracanej w zapytaniu o dane zmiany. Jest to najbardziej przydatne podczas postprzetwarzania maski aktualizacyjnej, gdy musisz wiedzieć, czy dana kolumna w powiązanym wierszu zmiany została zmodyfikowana. Aby uzyskać więcej informacji, zobacz About Change Data Capture (SQL Server).

Gdy te informacje zostaną zwrócone w ramach zapytania o zmianę danych, zalecamy użycie funkcji sys.fn_cdc_get_column_ordinal i sys.fn_cdc_is_bit_set zamiast tej funkcji. Użyj funkcji fn_cdc_get_column_ordinal przed zapytaniem o dane zmiany, aby żądany kolumnowy porządkowy był obliczany tylko raz. Użyj fn_cdc_is_bit_set w zapytaniu, aby wyodrębnić informacje z maski aktualizacji dla każdego zwróconego wiersza.

Permissions

Wymaga członkostwa w roli stałego serwera systemowego lub db_owner stałej bazie danych. Dla wszystkich innych użytkowników wymaga uprawnienia SELECT dla wszystkich przechwyconych kolumn w tabeli źródłowej, a jeśli zdefiniowano rolę gating dla wystąpienia przechwytywania, członkostwo w tej roli bazy danych.