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


sp_mergemetadataretentioncleanup (Transact-SQL)

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

Выполняет ручную очистку метаданных в системных таблицах MSmerge_genhistory, MSmerge_contents, MSmerge_tombstone, MSmerge_past_partition_mappings и MSmerge_current_partition_mappings системных таблиц. Эта хранимая процедура выполняется на каждом издателе и подписчике в топологии.

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

Синтаксис

sp_mergemetadataretentioncleanup
    [ [ @num_genhistory_rows = ] num_genhistory_rows OUTPUT ]
    [ , [ @num_contents_rows = ] num_contents_rows OUTPUT ]
    [ , [ @num_tombstone_rows = ] num_tombstone_rows OUTPUT ]
    [ , [ @aggressive_cleanup_only = ] aggressive_cleanup_only ]
[ ; ]

Аргументы

[ @num_genhistory_rows = ] num_genhistory_rows OUTPUT

Возвращает количество строк, очищенных из таблицы MSmerge_genhistory . @num_genhistory_rows — это параметр OUTPUT типа int с значением по умолчанию0.

[ @num_contents_rows = ] num_contents_rows OUTPUT

Возвращает количество строк, очищенных из таблицы MSmerge_contents . @num_contents_rows — это параметр OUTPUT типа int с значением по умолчанию0

[ @num_tombstone_rows = ] num_tombstone_rows OUTPUT

Возвращает количество строк, очищенных из таблицы MSmerge_tombstone . @num_tombstone_rows — это параметр OUTPUT типа int с значением по умолчанию0.

[ @aggressive_cleanup_only = ] aggressive_cleanup_only

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

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

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

Замечания

Если в базе данных существует несколько публикаций, и любой из этих публикаций использует бесконечный период хранения публикации, выполнение sp_mergemetadataretentioncleanup не очищает метаданные отслеживания изменений репликации слиянием для базы данных. По этой причине, при использовании неограниченного срока хранения публикации необходимо помнить об осторожности. Чтобы определить, имеет ли публикация бесконечный период хранения, выполните sp_helpmergepublication на издателе и запишите все публикации в результирующем наборе со значением 0 для retention.

Разрешения

Могут выполняться sp_mergemetadataretentioncleanupтолько члены предопределенных ролей базы данных db_owner или пользователей в списке доступа к публикации для опубликованной базы данных.