Bagikan melalui


MIN_ACTIVE_ROWVERSION (T-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Mengembalikan nilai rowversion aktif terendah dalam database saat ini. Nilai rowversion aktif jika digunakan dalam transaksi yang belum diterapkan. Untuk informasi selengkapnya, lihat rowversion (Transact-SQL).

Catatan

Jenis data rowversion juga dikenal sebagai tanda waktu.

Konvensi sintaks transact-SQL

Sintaks

MIN_ACTIVE_ROWVERSION ( ) 

Jenis Kembalian

Mengembalikan nilai biner(8).

Keterangan

MIN_ACTIVE_ROWVERSION adalah fungsi non-deterministik yang mengembalikan nilai rowversion aktif terendah dalam database saat ini. Nilai rowversion baru biasanya dihasilkan saat penyisipan atau pembaruan dilakukan pada tabel yang berisi kolom jenis rowversion. Jika tidak ada nilai aktif dalam database, MIN_ACTIVE_ROWVERSION mengembalikan nilai yang sama dengan @@DBTS + 1.

MIN_ACTIVE_ROWVERSION berguna untuk skenario seperti sinkronisasi data yang menggunakan nilai rowversion untuk mengelompokkan kumpulan perubahan bersama-sama. Jika aplikasi menggunakan @@DBTS daripada MIN_ACTIVE_ROWVERSION, dimungkinkan untuk melewatkan perubahan yang aktif saat sinkronisasi terjadi.

Fungsi MIN_ACTIVE_ROWVERSION tidak dipengaruhi oleh perubahan tingkat isolasi transaksi.

Contoh

Contoh berikut mengembalikan nilai rowversion dengan menggunakan MIN_ACTIVE_ROWVERSION dan @@DBTS. Perhatikan bahwa nilai berbeda ketika tidak ada transaksi aktif dalam 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  

Lihat Juga

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