共用方式為


MIN_ACTIVE_ROWVERSION (Transact-SQL)

新增: 2007 年 9 月 15 日

傳回在目前資料庫內使用中的最低 rowversion 值。如果 rowversion 值用於尚未認可的交易中,即是在使用中。如需詳細資訊,請參閱<timestamp (Transact-SQL)>。

Bb839514.note(zh-tw,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 協助