Udostępnij za pośrednictwem


MIN_ACTIVE_ROWVERSION (Transact-SQL)

Zwraca najniższy active rowversion wartość w bieżącej bazie danych.A rowversion wartość jest aktywny, jeśli jest używana w transakcji, która nie została jeszcze zatwierdzona.Aby uzyskać więcej informacji, zobacz ROWVERSION (języka Transact-SQL).

Ostrzeżenie

rowversion Typ danych jest również znany jako timestamp.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

MIN_ACTIVE_ROWVERSION

Zwracane typy

Zwraca binary(8) wartości.

Uwagi

Firmy Deterministic Networks funkcja , która zwraca najniższy aktywny jest MIN_ACTIVE_ROWVERSION rowversion wartość w bieżącej bazie danych.Nowy rowversion wartość zazwyczaj jest generowany po instrukcji insert lub update jest wykonywana na tabela zawierającej kolumna typu rowversion.Jeśli w bazie danych nie ma żadnych aktywnych wartości, MIN_ACTIVE_ROWVERSION zwraca taką samą wartość jak @@ DBTS + 1.

MIN_ACTIVE_ROWVERSION jest przydatne w scenariuszach, takich jak synchronizacja danych korzystających z rowversion wartości do grupy zestawów zmian razem.Jeśli aplikacja używa @@ DBTS zamiast MIN_ACTIVE_ROWVERSION, jest możliwe przegapić zmiany, które są aktywne podczas synchronizacji.

Przykłady

Poniższy przykład zwraca rowversion wartości za pomocą MIN_ACTIVE_ROWVERSION i @@DBTS.Należy zauważyć, że wartości różnią się, gdy nie ma żadnych aktywnych transakcji w bazie danych.

-- Create a table that has a ROWVERSION column in it.
CREATE TABLE RowVersionTestTable (rv ROWVERSION)
GO

-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION() 
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E2
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E3

-- Insert a row.
INSERT INTO RowVersionTestTable VALUES (DEFAULT)
SELECT * FROM RowVersionTestTable
GO
---------------- Results ----------------
--rv
--0x00000000000007E3

-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION()
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E3
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E4

-- Insert a new row inside a transaction but do not commit.
BEGIN TRAN
INSERT INTO RowVersionTestTable VALUES (DEFAULT)
SELECT * FROM RowVersionTestTable
GO
---------------- Results ----------------
--rv
--0x00000000000007E3
--0x00000000000007E4

-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION() 
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E4
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E4

-- Commit the transaction.
COMMIT
GO

-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION()
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E4
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E5