CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)
Restituisce la versione minima valida da utilizzare per ottenere informazioni sul rilevamento delle modifiche dalla tabella specificata quando si utilizza la funzione CHANGETABLE.
Sintassi
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )
Argomenti
- table_object_id
ID oggetto della tabella. table_object_id è di tipo int
Tipo restituito
bigint
Osservazioni
Utilizzare questa funzione per convalidare il valore del parametro last_sync_version per CHANGETABLE. Se last_sync_version è inferiore al valore riportato da questa funzione, i risultati restituiti da una chiamata successiva a CHANGETABLE potrebbero non essere validi.
CHANGE_TRACKING_MIN_VALID_VERSION utilizza le informazioni seguenti per determinare il valore restituito:
Quando è stato attivato il rilevamento delle modifiche per la tabella.
Quando è stata eseguita l'attività di pulizia in background per rimuovere le informazioni sul rilevamento delle modifiche anteriori al periodo di memorizzazione specificato per il database.
Se la tabella è stata troncata. In questo modo vengono rimosse tutte le informazioni sul rilevamento delle modifiche associate alla tabella.
La funzione restituisce NULL se si verifica una delle condizioni seguenti:
Rilevamento modifiche non attivato per il database.
ID oggetto della tabella specifica non valido per il database corrente.
Autorizzazione insufficiente per la tabella specificata dall'ID oggetto.
Esempi
Nell'esempio seguente viene illustrato come determinare la validità della versione specificata. È necessario ottenere la minima versione valida della tabella dbo.Employees, confrontandola quindi con il valore della variabile @last_sync_version. Se il valore di @last_sync_version è inferiore al valore di @min_valid_version, l'elenco delle righe modificate non sarà valido.
Nota
È possibile ottenere il valore da una tabella o da un altro percorso in cui è stato memorizzato l'ultimo numero di versione utilizzato per sincronizzare i dati.
-- 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 ...)
Vedere anche