Compartilhar 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ópico Convenções da sintaxe 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 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 Sobre o change data capture (SQL Server).

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 o ordinal da coluna desejada seja computado somente uma vez. Use fn_cdc_is_bit_set na consulta para extrair as informações da máscara de atualização de cada linha retornada.

Permissões

Requer associação à função de servidor fixa sysadmin ou à 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.

Consulte também

Referência

cdc.<capture_instance>_CT (Transact-SQL)

cdc.captured_columns (Transact-SQL)