sys.fn_cdc_get_column_ordinal (Transact-SQL)
Возвращает порядковый номер заданного столбца в таблице изменений, связанной с указанным экземпляром отслеживания.
Синтаксические обозначения в Transact-SQL
Синтаксис
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')
Аргументы
' capture_instance '
Имя экземпляра отслеживания, в котором заданный столбец определен как отслеживаемый. Аргумент capture_instance имеет тип sysname.' column_name '
Столбец, который нужно указать в отчете. Аргумент column_name имеет тип sysname.
Тип возвращаемых данных
int
Замечания
Эта функция используется для определения порядкового номера отслеживаемого столбца в маске обновления системы отслеживания измененных данных. В основном она используется совместно с функцией sys.fn_cdc_is_bit_set для получения сведений из маски обновления при запросе данных изменений.
Разрешения
Необходимо разрешение SELECT на все отслеживаемые столбцы в исходной таблице. Если в экземпляре отслеживания задана роль для компонента системы отслеживания измененных данных, также требуется членство в этой роли.
Примеры
Следующий пример получает порядковый номер столбца VacationHours в маске обновления для экземпляра отслеживания HumanResources_Employee. Затем это значение используется для вызова функции sys.fn_cdc_is_bit_set, которая получает сведения из возвращаемой маски обновления.
USE AdventureWorks2012;
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
См. также
Справочник
Функции системы отслеживания измененных данных (Transact-SQL)
sys.sp_cdc_help_change_data_capture (Transact-SQL)
sys.sp_cdc_get_captured_columns (Transact-SQL)
sys.fn_cdc_is_bit_set (Transact-SQL)