Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Возвращает наименьшее активное значение rowversion в текущей базе данных. Значение rowversion является активным, если оно используется в незафиксированной транзакции. Дополнительные сведения см. в статье rowversion (Transact-SQL).
Примечание.
Тип данных rowversion также известен как timestamp.
Соглашения о синтаксисе Transact-SQL
Синтаксис
MIN_ACTIVE_ROWVERSION ( )
Типы возвращаемых данных
Возвращает значение binary(8).
Замечания
MIN_ACTIVE_ROWVERSION — это недетерминированная функция, возвращающая наименьшее активное значение rowversion в текущей базе данных. Новое значение rowversion обычно формируется, когда в таблице, содержащей столбец с типом rowversion, производится операция вставки или обновления. Если в базе данных нет активных значений, MIN_ACTIVE_ROWVERSION возвращает то же значение, что и @@DBTS + 1.
Функция MIN_ACTIVE_ROWVERSION полезна, например, когда при синхронизации данных значения rowversion используются для группирования наборов изменений. Если приложение использует @@DBTS вместо MIN_ACTIVE_ROWVERSION, можно пропустить изменения, активные при синхронизации.
Функция MIN_ACTIVE_ROWVERSION не затрагивается изменениями на уровнях изоляции транзакции.
Примеры
В приведенном ниже примере значения rowversion возвращаются с помощью функций MIN_ACTIVE_ROWVERSION и @@DBTS. Обратите внимание, что при отсутствии в базе данных активных транзакций эти значения будут другими.
-- 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