MIN_ACTIVE_ROWVERSION (Transact-SQL)

新建日期: 2007 年 9 月 15 日

返回当前数据库中处于活动状态的最小 rowversion 值。 如果在尚未提交的事务中使用了 rowversion 值,则此值处于活动状态。 有关详细信息,请参阅 timestamp (Transact-SQL)

Bb839514.note(zh-cn,SQL.90).gif注意:
rowversion 数据类型也称为 timestamp

主题链接图标Transact-SQL 语法约定

语法

MIN_ACTIVE_ROWVERSION

返回类型

返回一个 binary(8) 值。

备注

MIN_ACTIVE_ROWVERSION 是一个不确定性函数,它返回当前数据库中处于活动状态的最小 rowversion 值。 对包含类型为 rowversion 的列的表执行插入或更新操作时,通常会生成一个新的 rowversion 值。 如果数据库中没有处于活动状态的值,则 MIN_ACTIVE_ROWVERSION 将返回与 @@DBTS + 1 相同的值。

对于诸如使用 rowversion 值将各组更改组合在一起的数据同步的情况,MIN_ACTIVE_ROWVERSION 非常有用。 如果一个应用程序使用 @@DBTS 而不是 MIN_ACTIVE_ROWVERSION,则同步发生时可能会遗漏处于活动状态的更改。

示例

以下示例使用 MIN_ACTIVE_ROWVERSION@@DBTS 返回 rowversion 值。 请注意,如果数据库中没有处于活动状态的事务,这些值将不同。

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

请参阅

参考

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

帮助和信息

获取 SQL Server 2005 帮助