MIN_ACTIVE_ROWVERSION (Transact-SQL)
新增: 2007 年 9 月 15 日
傳回在目前資料庫內使用中的最低 rowversion 值。如果 rowversion 值用於尚未認可的交易中,即是在使用中。如需詳細資訊,請參閱<timestamp (Transact-SQL)>。
附註: |
---|
rowversion 資料類型也稱為 timestamp。 |
語法
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)