Share via


CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

Retorna a versão mínima válida para usar na obtenção de informações do controle de alterações, a partir de uma tabela específica, quando você usa a função CHANGETABLE.

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

Sintaxe

CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )

Argumentos

  • table_object_id
    É o ID de objeto da tabela. table_object_id é int.

Tipo de retorno

bigint

Comentários

Use esta função para validar o valor do parâmetro last_sync_version para CHANGETABLE. Se last_sync_version for menor que o valor relatado pela função, os resultados retornados de uma chamada posterior a CHANGETABLE talvez não sejam válidos.

CHANGE_TRACKING_MIN_VALID_VERSION usa as seguintes informações para determinar o valor de retorno:

  • Quando a tabela foi habilitada para o controle de alterações.

  • Quando uma tarefa de limpeza em segundo plano foi executada para remover informações de controle de alterações mais antigas que o período de retenção especificado para o banco de dados.

  • Se a tabela foi truncada. Isso remove todas as informações de controle de alterações associadas à tabela.

A função retornará NULL se uma das condições a seguir for verdadeira:

  • O controle de alterações não está habilitado para o banco de dados.

  • O ID de objeto da tabela especificado não é válido para o banco de dados atual.

  • Permissão inadequada para a tabela especificada pelo ID de objeto.

Exemplos

O exemplo a seguir determina se uma versão especificada é uma versão válida. O exemplo obtém a versão válida mínima da tabela dbo.Employees e a compara com o valor da variável @last_sync_version. Se o valor de @last_sync_version for menor que o de @min_valid_version, a lista de linhas alteradas não será válida.

ObservaçãoObservação

Em geral, você obtém o valor de uma tabela ou de outro local onde está armazenado o número da versão mais recente usada para sincronizar os dados.

-- The tracked change is tagged with the specified context. 
DECLARE @min_valid_version bigint, @last_sync_version bigint;
SET @min_valid_version = 
CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('dbo.Employees'));
SET @last_sync_version = 11
IF (@last_sync_version < @min_valid_version)
-- Error, do not obtain changes
ELSE
-- Obtain changes using CHANGETABLE(CHANGES ...)