Aracılığıyla paylaş


MIN_ACTIVE_ROWVERSION (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Mevcut veritabanında en düşük aktif sıralı sürüm değerini döndürür. Sıralı versiyon değeri, henüz bağlanmamış bir işlemde kullanılıyorsa etkindir. Daha fazla bilgi için bkz. sıralı versiyon (Transact-SQL).

Uyarı

Sıra versiyonu veri tipi zaman damgası olarak da bilinir.

Transact-SQL söz dizimi kuralları

Sözdizimi

MIN_ACTIVE_ROWVERSION ( ) 

Dönüş Türleri

İkili(8) bir değer döndürür.

Açıklamalar

MIN_ACTIVE_ROWVERSION, mevcut veritabanında en düşük aktif sıralı sürüm değerini döndüren belirsiz bir fonksiyondur. Yeni bir sıralı sürüm değeri, sıralı versiyon tipinde bir sütun içeren bir tabloda ekleme veya güncelleme yapıldığında genellikle oluşturulur. Veritabanında aktif değer yoksa, MIN_ACTIVE_ROWVERSION @@DBTS + 1 ile aynı değeri döndürür.

MIN_ACTIVE_ROWVERSION, değişiklik setlerini gruplamak için sıralı versiyon değerlerini kullanan veri senkronizasyonu gibi senaryolar için faydalıdır. Bir uygulama MIN_ACTIVE_ROWVERSION yerine @@DBTS kullanırsa, senkronizasyon gerçekleştiğinde aktif olan değişiklikleri kaçırabilir.

MIN_ACTIVE_ROWVERSION fonksiyonu, işlem izolasyon seviyelerindeki değişikliklerden etkilenmez.

Örnekler

Aşağıdaki örnek, ve @@DBTSkullanılarak MIN_ACTIVE_ROWVERSIONsıralı versiyon değerlerini döndürür. Veritabanında aktif işlem olmadığında değerlerin farklı olduğunu fark edin.

-- 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  

Ayrıca Bkz.

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