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.
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çã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 ...)
Consulte também