sys.fn_cdc_has_column_changed (Transact-SQL)
Rileva se la maschera di aggiornamento specificata indica che la colonna specificata è stata aggiornata nella riga della modifica associata.
Sintassi
sys.fn_cdc_has_column_changed ( 'capture_instance','column_name' , update_mask )
Argomenti
'capture_instance'
Nome dell'istanza di acquisizione. capture_instance è sysname.'column_name'
Colonna acquisita dell'istanza di acquisizione specificata in base alla quale creare un report. column_name è sysname.update_mask
Maschera che identifica le colonne aggiornate in qualsiasi riga della modifica associata. update_mask è varbinary(128).
Tipo restituito
bit
Osservazioni
È possibile utilizzare questa funzione per estrarre informazioni da una maschera di aggiornamento restituita in una query sui dati delle modifiche. La maschera di aggiornamento è molto utile in fase di post-elaborazione, quando è necessario sapere se una particolare colonna della riga della modifica associata è stata modificata. Per ulteriori informazioni, vedere Recupero e comprensione dei dati delle modifiche.
Quando queste informazioni vengono restituite come parte di una query sui dati delle modifiche, si consiglia di utilizzare le funzioni sys.fn_cdc_get_column_ordinal e sys.fn_cdc_is_bit_set anziché questa funzione. Utilizzare la funzione fn_cdc_get_column_ordinal prima di eseguire una query sui dati delle modifiche in modo che il numero ordinale di colonna desiderato venga calcolato solo una volta. Utilizzare fn_cdc_is_bit_set all'interno della query per estrarre informazioni dalla maschera di aggiornamento per ogni riga restituita.
Autorizzazioni
È richiesta l'appartenenza al ruolo predefinito del server sysadmin o al ruolo predefinito del database db_owner. Per tutti gli altri utenti, è richiesta l'autorizzazione SELECT su tutte le colonne acquisite nella tabella di origine e, se è stato definito un ruolo di controllo per l'istanza di acquisizione, l'appartenenza a tale ruolo del database.
Vedere anche