sys.fn_cdc_get_column_ordinal (Transact-SQL)

Restituisce il numero ordinale di colonna della colonna specificata nel modo in cui appare nella tabella delle modifiche associata all'istanza di acquisizione specificata.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')

Argomenti

  • 'capture_instance'
    Nome dell'istanza di acquisizione in cui la colonna specificata viene identificata come una colonna acquisita. capture_instance è sysname.

  • 'column_name'
    Colonna per la quale eseguire un report. column_name è sysname.

Tipo restituito

int

Osservazioni

Questa funzione viene utilizzata per identificare la posizione ordinale di una colonna acquisita all'interno della maschera di aggiornamento dell'acquisizione dei dati delle modifiche. Si utilizza principalmente insieme alla funzione sys.fn_cdc_is_bit_set per estrarre informazioni dalla maschera di aggiornamento quando si esegue una query per i dati delle modifiche.

Autorizzazioni

Richiede l'autorizzazione SELECT per tutte le colonne acquisite di una tabella di origine. Se per l'istanza di acquisizione viene specificato un ruolo del database per il componente di acquisizione dei dati delle modifiche, viene anche richiesta l'appartenenza a tale ruolo.

Esempi

Nell'esempio seguente si ottiene la posizione ordinale della colonna VacationHours nella maschera di aggiornamento per l'istanza di acquisizione HumanResources_Employee. Questo valore viene poi utilizzato nella chiamata a sys.fn_cdc_is_bit_set per estrarre informazioni dalla maschera di aggiornamento restituita.

USE AdventureWorks;
GO
DECLARE @VacationHoursOrdinal int;
SET @VacationHoursOrdinal = 
sys.fn_cdc_get_column_ordinal ( 'HumanResources_Employee','VacationHours');
SELECT sys.fn_cdc_is_bit_set(@VacationHoursOrdinal, __$update_mask)
  as 'VacationHoursChanged', *
FROM cdc.fn_get_net_changes_HumanResources_Employee
    (@from_lsn, @to_lsn, 'all with mask');
GO