sys.fn_cdc_has_column_changed
Определяет, указывает ли заданная маска обновления на обновление заданного столбца в связанной строке изменений.
Синтаксис
sys.fn_cdc_has_column_changed ( 'capture_instance','column_name' , update_mask )
Аргументы
'capture_instance'
Имя экземпляра отслеживания. Аргумент capture_instance имеет тип sysname.'column_name'
Отслеживаемый столбец заданного экземпляра отслеживания. Аргумент column_name имеет тип sysname.update_mask
Маска, идентифицирующая обновленные столбцы во всех связанных строках изменения. Аргумент update_mask имеет тип varbinary(128).
Тип возвращаемых данных
bit
Замечания
Эту функцию можно использовать для получения сведений из маски обновления, которая возвращается в запросе данных изменений. Она особенно полезна во время последующей обработки маски обновления, когда нужно определить, изменился ли конкретный столбец в связанной строке изменений. Дополнительные сведения см. в разделе Получение и интерпретация измененных данных.
Если эти сведения возвращаются как часть запроса измененных данных, то рекомендуется вместо этой функции использовать функции sys.fn_cdc_get_column_ordinal и sys.fn_cdc_is_bit_set. Функцию fn_cdc_get_column_ordinal следует использовать перед запрашиванием измененных данных, чтобы нужный порядковый номер столбца вычислялся только один раз. Функцию fn_cdc_is_bit_set следует использовать в запросе для извлечения данных из маски обновления для каждой возвращаемой строки.
Разрешения
Необходимо членство в предопределенной роли сервера sysadmin или предопределенной роли базы данных db_owner. Всем остальным пользователям необходимо разрешение SELECT для всех отслеживаемых столбцов в исходной таблице. Кроме того, если для экземпляра отслеживания была определена шлюзовая роль, требуется членство в этой роли базы данных.
См. также