Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrací nejnižší hodnotu aktivní verze řádku v aktuální databázi. Hodnota rowversion je aktivní, pokud je použita v transakci, která ještě nebyla potvrzena. Pro více informací viz rowversion (Transact-SQL).
Poznámka:
Datový typ verze řádku je také známý jako časové razítko.
Syntaxe
MIN_ACTIVE_ROWVERSION ( )
Návratové typy
Vrací binární hodnotu(8).
Poznámky
MIN_ACTIVE_ROWVERSION je nedeterministická funkce, která vrací nejnižší hodnotu aktivní verze řádku v aktuální databázi. Nová hodnota rowversion se obvykle generuje, když je provedeno vložení nebo aktualizace tabulky obsahující sloupec typu rowversion. Pokud v databázi nejsou aktivní hodnoty, MIN_ACTIVE_ROWVERSION vrátí stejnou hodnotu jako @@DBTS + 1.
MIN_ACTIVE_ROWVERSION je užitečné pro scénáře, jako je synchronizace dat, kde se hodnoty rowversion používají k seskupení sad změn dohromady. Pokud aplikace používá @@DBTS místo MIN_ACTIVE_ROWVERSION, je možné přehlédnout změny, které jsou aktivní při synchronizaci.
Funkce MIN_ACTIVE_ROWVERSION není ovlivněna změnami úrovní izolace transakcí.
Examples
Následující příklad vrací hodnoty rowversion pomocí MIN_ACTIVE_ROWVERSION a @@DBTS. Všimněte si, že hodnoty se liší, když v databázi nejsou aktivní transakce.
-- 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