Partilhar via


sys.fn_cdc_has_column_changed (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

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

  • 'column_name'
    É a coluna capturada da instância de captura especificada a ser relatada. column_name é sysname.

  • update_mask
    É a máscara que identifica colunas atualizadas em qualquer linha de alteração associada. update_mask é varbinary(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 Recuperando e compreendendo os dados de alteração.

Quando essas informações são retornadas como parte de uma consulta de dados de alteração, recomendamos usar 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 à instância de captura tiver sido definida, associação nessa função de banco de dados.