MIN_ACTIVE_ROWVERSION (Transact-SQL)

Nouveau : 15 septembre 2007

Retourne la valeur rowversion active minimale dans la base de données active. Une valeur rowversion est active si elle est utilisée dans une transaction qui n'a pas encore été validée. Pour plus d'informations, consultez timestamp (Transact-SQL).

Bb839514.note(fr-fr,SQL.90).gifRemarque :
Le type de données rowversion est également appelé timestamp.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

MIN_ACTIVE_ROWVERSION

Notes

MIN_ACTIVE_ROWVERSION est une fonction non déterministe qui retourne la valeur rowversion active minimale dans la base de données active. Une nouvelle valeur rowversion est généralement générée lorsqu'une insertion ou une mise à jour est effectuée sur une table qui contient une colonne de type rowversion. Si la base de données ne contient pas de valeur active, MIN_ACTIVE_ROWVERSION retourne la même valeur que @@ DBTS + 1.

MIN_ACTIVE_ROWVERSION est utile dans des scénarios, tels que la synchronisation de données, qui utilisent des valeurs rowversion pour regrouper des ensembles de modifications. Si une application utilise @@ DBTS plutôt que MIN_ACTIVE_ROWVERSION, des modifications actives lors de la synchronisation risquent d'être omises.

Types de retour

Retourne une valeur de type binary(8).

Exemples

L'exemple suivant retourne des valeurs rowversion en utilisant MIN_ACTIVE_ROWVERSION et @@DBTS. Notez que les valeurs diffèrent lorsque la base de données ne contient pas de transaction active.

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

Voir aussi

Référence

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

Aide et Informations

Assistance sur SQL Server 2005