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.
Sintaksis
MIN_ACTIVE_ROWVERSION ( )
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk