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.
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