Поделиться через


sys.sp_flush_commit_table_on_demand (Transact-SQL)

Область применения: SQL Server

Удаляет строки из syscommittab пакетов.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_flush_commit_table_on_demand
    [ @numrows = ] numrows
    , [ @deleted_rows = ] deleted_rows OUTPUT
    , [ @date_cleanedup = ] date_cleanedup OUTPUT
    , [ @cleanup_ts = ] cleanup_ts OUTPUT
[ ; ]

Аргументы

[ @numrows = ] числовой

Указывает количество строк, которые необходимо удалить из syscommittab. @numrows большой и не может бытьNULL.

[ @deleted_rows = ] deleted_rows ВЫХОДНЫЕ ДАННЫЕ

@deleted_rows — это параметр OUTPUT типа bigint.

[ @date_cleanedup = ] date_cleanedup OUTPUT

@date_cleanedup — это параметр OUTPUT типа datetime.

[ @cleanup_ts = ] cleanup_ts OUTPUT

@cleanup_ts — это параметр OUTPUT типа bigint.

Значения кода возврата

0 (успешно) или 1 (сбой).

Примеры

DECLARE @deleted_rows BIGINT;
DECLARE @date_cleanedup DATETIME;
DECLARE @cleanup_ts BIGINT;

EXEC sys.sp_flush_commit_table_on_demand 3000,
    @deleted_rows = @deleted_rows OUTPUT,
    @date_cleanedup = @date_cleanedup OUTPUT,
    @cleanup_ts = @cleanup_ts OUTPUT;

PRINT CONCAT ('Number of rows deleted: ', @deleted_rows);
PRINT CONCAT ('Cleanup date: ', @date_cleanedup);
PRINT CONCAT ('Change tracking version: ', @cleanup_ts);
GO

Вот результирующий набор.

Started executing query at Line 1
The value returned by change_tracking_hardened_cleanup_version() is 17.
The value returned by safe_cleanup_version() is 17.
(0 rows affected)
Number of rows deleted: 100
Cleanup date: Aug 29 2022  8:59PM
Change tracking Version: 17
Total execution time: 00:00:02.008

Замечания

Эта процедура должна выполняться в базе данных с включенным отслеживанием изменений.

Разрешения

Эту процедуру может выполнять только член роли сервера sysadmin или db_owner роли базы данных.