MIN_ACTIVE_ROWVERSION (Transact-SQL)MIN_ACTIVE_ROWVERSION (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Devuelve el valor rowversion activo más bajo de la base de datos actual.Returns the lowest active rowversion value in the current database. Un valor rowversion está activo si se utiliza en una transacción que no se ha confirmado todavía.A rowversion value is active if it is used in a transaction that has not yet been committed. Para más información, vea rowversion (Transact-SQL).For more information, see rowversion (Transact-SQL).

Nota

El tipo de datos rowversion también se conoce como timestamp.The rowversion data type is also known as timestamp.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

  
MIN_ACTIVE_ROWVERSION  

Tipos devueltosReturn Types

Devuelve un valor binary(8) .Returns a binary(8) value.

NotasRemarks

MIN_ACTIVE_ROWVERSION es una función no determinista que devuelve el valor rowversion activo más bajo de la base de datos actual.MIN_ACTIVE_ROWVERSION is a non-deterministic function that returns the lowest active rowversion value in the current database. Normalmente, se genera un nuevo valor rowversion cuando se realiza una inserción o una actualización en una tabla que contiene una columna de tipo rowversion.A new rowversion value is typically generated when an insert or update is performed on a table that contains a column of type rowversion. Si no hay ningún valor activo en la base de datos, MIN_ACTIVE_ROWVERSION devuelve el mismo valor que @@DBTS + 1.If there are no active values in the database, MIN_ACTIVE_ROWVERSION returns the same value as @@DBTS + 1.

MIN_ACTIVE_ROWVERSION es útil en escenarios como la sincronización de datos que usa valores rowversion para agrupar conjuntos de cambios.MIN_ACTIVE_ROWVERSION is useful for scenarios such as data synchronization that use rowversion values to group sets of changes together. Si una aplicación usa @@DBTS en lugar de MIN_ACTIVE_ROWVERSION, es posible que se pierdan los cambios que están activos cuando se produce la sincronización.If an application uses @@DBTS rather than MIN_ACTIVE_ROWVERSION, it is possible to miss changes that are active when synchronization occurs.

La función MIN_ACTIVE_ROWVERSION no se ve afectada por los cambios en los niveles de aislamiento de transacciones.The MIN_ACTIVE_ROWVERSION function is not affected by changes in the transaction isolation levels.

EjemplosExamples

En el ejemplo siguiente se devuelven valores rowversion al usar MIN_ACTIVE_ROWVERSION y @@DBTS.The following example returns rowversion values by using MIN_ACTIVE_ROWVERSION and @@DBTS. Observe que los valores difieren cuando no hay ninguna transacción activa en la base de datos.Notice that the values differ when there are no active transactions in the database.

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

Consulte tambiénSee Also

@@DBTS (Transact-SQL) @@DBTS (Transact-SQL)
rowversion (Transact-SQL)rowversion (Transact-SQL)