sys.fn_cdc_has_column_changed (Transact-SQL)
Определяет, указывает ли заданная маска обновления на обновление заданного столбца в связанной строке изменений.
Синтаксические обозначения Transact-SQL
Синтаксис
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
Замечания
Эту функцию можно использовать для получения сведений из маски обновления, которая возвращается в запросе данных изменений. Она особенно полезна во время последующей обработки маски обновления, когда нужно определить, изменился ли конкретный столбец в связанной строке изменений. Дополнительные сведения см. в разделе Об отслеживании измененных данных (SQL Server).
Если эти сведения возвращаются как часть запроса информации об изменениях, рекомендуется вместо этой функции использовать функции 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 для всех отслеживаемых столбцов в исходной таблице. Кроме того, если для экземпляра отслеживания была определена шлюзовая роль, требуется членство в этой роли базы данных.