Share via


sys.fn_cdc_has_column_changed (Transact-SQL)

Identifica si la máscara de actualización especificada indica que se ha actualizado la columna especificada en la fila de cambio asociada.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sys.fn_cdc_has_column_changed ( 'capture_instance','column_name' , update_mask )

Argumentos

  • 'capture_instance'
    Es el nombre de la instancia de captura. capture_instance es sysname.

  • 'column_name'
    Es la columna capturada de la instancia de captura especificada para la que se creará un informe. column_name es sysname.

  • update_mask
    Es la máscara que identifica las columnas actualizadas en cualquier fila de cambio asociada. update_mask es varbinary(128).

Tipo devuelto

bit

Notas

Puede utilizar esta función para extraer información de una máscara de actualización devuelta en una consulta de datos de cambio. Resulta muy útil en el procesamiento posterior de la máscara de actualización para saber si se ha modificado una columna en particular en la fila de cambio asociada. Para obtener más información, consulte Recuperación y descripción de datos de cambios.

Cuando esta información se devuelve como parte de una consulta de datos modificados, se recomienda usar las funciones sys.fn_cdc_get_column_ordinal y sys.fn_cdc_is_bit_set en lugar de esta función. Utilice la función fn_cdc_get_column_ordinal antes de consultar los datos modificados para que se calcule el ordinal de columna deseado sólo una vez. Utilice fn_cdc_is_bit_set dentro de la consulta para extraer la información de la máscara de actualización para cada fila devuelta.

Permisos

Requiere la pertenencia a la función de servidor fija sysadmin o a la función de base de datos fija db_owner. Para el resto de usuarios, requiere el permiso SELECT en todas las columnas capturadas en la tabla de origen y, si se ha definido una función de puerta de enlace para la instancia de captura, la pertenencia a esa función de base de datos.