MIN_ACTIVE_ROWVERSION (Transact-SQL)

Neu: 15. September 2007

Gibt den niedrigsten aktiven rowversion-Wert in der aktuellen Datenbank zurück. Ein rowversion -Wert ist aktiv, wenn er in einer Transkation verwendet wird, für die noch kein Commit ausgeführt wurde. Weitere Informationen finden Sie unter timestamp (Transact-SQL).

Bb839514.note(de-de,SQL.90).gifHinweis:
Der rowversion-Datentyp wird auch als timestamp bezeichnet.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

MIN_ACTIVE_ROWVERSION

Rückgabetypen

Gibt einen binary(8)-Wert zurück.

Hinweise

MIN_ACTIVE_ROWVERSION ist eine nicht deterministische Funktion, die den niedrigsten aktiven rowversion-Wert in der aktuellen Datenbank zurückgibt. Ein neuer rowversion-Wert wird in der Regel generiert, wenn ein neuer Einfüge- oder Aktualisierungsvorgang in einer Tabelle ausgeführt wird, die eine Spalte vom Typ rowversion enthält. Wenn in der Datenbank keine aktiven Werte vorhanden sind, gibt MIN_ACTIVE_ROWVERSION den gleichen Wert wie @@DBTS + 1 zurück.

MIN_ACTIVE_ROWVERSION ist in Szenarien wie der Datensynchronisierung hilfreich, in denen rowversion-Werte zur Gruppierung von Änderungssätzen verwendet werden. Wenn eine Anwendung @@DBTS anstelle von MIN_ACTIVE_ROWVERSION verwendet, ist es möglich, dass Änderungen nicht erfasst werden, die aktiv sind, wenn die Synchronisierung erfolgt.

Beispiele:

Im folgenden Beispiel werden rowversion-Werte mithilfe von MIN_ACTIVE_ROWVERSION und @@DBTS zurückgegeben. Beachten Sie, dass sich die Werte unterscheiden, wenn es keine aktiven Transaktionen in der Datenbank gibt.

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

Siehe auch

Verweis

@@DBTS (Transact-SQL)
timestamp (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005