Skip to content

Latest commit

 

History

History
70 lines (48 loc) · 3.48 KB

sp-mergemetadataretentioncleanup-transact-sql.md

File metadata and controls

70 lines (48 loc) · 3.48 KB
title description author ms.author ms.reviewer ms.date ms.service ms.subservice ms.topic f1_keywords helpviewer_keywords dev_langs
sp_mergemetadataretentioncleanup (Transact-SQL)
Performs a manual cleanup of metadata in the MSmerge_* system tables.
markingmyname
maghan
randolphwest
08/22/2024
sql
replication
reference
sp_mergemetadataretentioncleanup
sp_mergemetadataretentioncleanup_TSQL
sp_mergemetadataretentioncleanup
TSQL

sp_mergemetadataretentioncleanup (Transact-SQL)

[!INCLUDE SQL Server]

Performs a manual cleanup of metadata in the MSmerge_genhistory, MSmerge_contents, MSmerge_tombstone, MSmerge_past_partition_mappings, and MSmerge_current_partition_mappings system tables. This stored procedure is executed at each Publisher and Subscriber in the topology.

:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions

Syntax

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 ]
[ ; ]

Arguments

[ @num_genhistory_rows = ] num_genhistory_rows OUTPUT

Returns the number of rows cleaned-up from the MSmerge_genhistory table. @num_genhistory_rows is an OUTPUT parameter of type int, with a default of 0.

[ @num_contents_rows = ] num_contents_rows OUTPUT

Returns the number of rows cleaned-up from the MSmerge_contents table. @num_contents_rows is an OUTPUT parameter of type int, with a default of 0

[ @num_tombstone_rows = ] num_tombstone_rows OUTPUT

Returns the number of rows cleaned-up from the MSmerge_tombstone table. @num_tombstone_rows is an OUTPUT parameter of type int, with a default of 0.

[ @aggressive_cleanup_only = ] aggressive_cleanup_only

[!INCLUDE ssinternalonly-md]

Return code values

0 (success) or 1 (failure).

Remarks

If there are multiple publications on a database, and any one of those publications uses an infinite publication retention period, running sp_mergemetadataretentioncleanup doesn't clean up the merge replication change tracking metadata for the database. For this reason, use infinite publication retention with caution. To determine if a publication has an infinite retention period, execute sp_helpmergepublication at the Publisher and note any publications in the result set with a value of 0 for retention.

Permissions

Only members of the db_owner fixed database role or users in the publication access list for a published database can execute sp_mergemetadataretentioncleanup.

Related content