MIN_ACTIVE_ROWVERSION (Transact-SQL)

新規 : 2007 年 9 月 15 日

現在のデータベースにあるアクティブな rowversion 値のうち最小の値を返します。rowversion 値は、まだコミットされていないトランザクションで使用されている場合にアクティブになります。詳細については、「timestamp (Transact-SQL)」を参照してください。

Bb839514.note(ja-jp,SQL.90).gifメモ :
rowversion データ型は、timestamp とも呼ばれます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

 MIN_ACTIVE_ROWVERSION

戻り値の型

binary(8) 値を返します。

解説

MIN_ACTIVE_ROWVERSION は、現在のデータベースにあるアクティブな rowversion 値のうち最小の値を返す非決定的関数です。通常、rowversion 型の列を含むテーブルで挿入または更新が実行されると、新しい rowversion 値が生成されます。データベースにアクティブな値がない場合、MIN_ACTIVE_ROWVERSION は、@@DBTS に 1 を加えた値を返します。

MIN_ACTIVE_ROWVERSION は、rowversion 値を使用して一連の変更をグループ化することでデータの同期を行う場合などに役立ちます。アプリケーションで MIN_ACTIVE_ROWVERSION ではなく @@DBTS を使用した場合、同期の実行時にアクティブな変更が見逃される可能性があります。

次の例では、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 の参考資料の入手