Partilhar via


sys.fn_cdc_has_column_changed (Transact-SQL)

Aplica-se: SQL Server

Identifica se a máscara de atualização especificada indica que a coluna especificada foi atualizada na linha de alteração associada.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

' capture_instance '
É o nome da instância de captura. capture_instance é sysname.

' column_name '
É a coluna capturada da instância de captura especificada para relatar. column_name é sysname.

update_mask
É a máscara que identifica colunas atualizadas em qualquer linha de alteração associada. update_mask é varbinário(128).

Tipo de retorno

bit

Comentários

Você pode usar esta função para extrair informações de uma máscara de atualização retornada em uma consulta para obter dados de alteração. A máscara de atualização é muito útil na pós-execução, quando é preciso saber se uma coluna particular na linha de alteração associada foi modificada. Para obter mais informações, consulte Sobre a captura de dados de alterações (SQL Server).

Quando essas informações forem retornadas como parte de uma consulta de dados de alteração, recomendamos que você use as funções sys.fn_cdc_get_column_ordinal e sys.fn_cdc_is_bit_set em vez dessa função. Use a função fn_cdc_get_column_ordinal antes de consultar os dados de alteração, de forma que a ordinal da coluna desejada seja computada somente uma vez. Use fn_cdc_is_bit_set dentro da consulta para extrair as informações da máscara de atualização de cada linha retornada.

Permissões

Requer associação na função de servidor fixa sysadmin ou na função de banco de dados fixa db_owner. Para todos os outros usuários, requer a permissão SELECT em todas as colunas capturadas na tabela de origem e, se uma função associada para a instância de captura tiver sido definida, faça associação nessa função de banco de dados.

Confira também

CDC.<capture_instance>_CT (Transact-SQL)
cdc.captured_columns (Transact-SQL)