sp_mergemetadataretentioncleanup (Transact-SQL)
适用范围:SQL Server
在MSmerge_genhistory、MSmerge_contents、MSmerge_tombstone、MSmerge_past_partition_mappings和MSmerge_current_partition_mappings系统表中执行元数据的手动清理。 此存储过程在每个发布服务器和订阅服务器的拓扑中执行。
语法
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是 int 类型的 OUTPUT 参数,默认值为 0
.
[ @num_contents_rows = ] num_contents_rows OUTPUT
返回从MSmerge_contents表中清理的行数。 @num_contents_rows是 int 类型的 OUTPUT 参数,默认值为0
[ @num_tombstone_rows = ] num_tombstone_rows OUTPUT
返回从MSmerge_tombstone表中清理的行数。 @num_tombstone_rows是 int 类型的 OUTPUT 参数,默认值为 0
.
[ @aggressive_cleanup_only = ] aggressive_cleanup_only
标识为仅供参考。 不支持。 不保证以后的兼容性。
返回代码值
0
(成功)或 1
(失败)。
注解
如果数据库中有多个发布,并且其中任一发布使用无限发布保留期,则运行 sp_mergemetadataretentioncleanup
不会清理数据库的合并复制更改跟踪元数据。 因此,要谨慎使用无限发布保持。 若要确定发布是否具有无限保留期,请在发布服务器上执行sp_helpmergepublication,并记下结果集中具有值0
retention
的任何发布。
权限
只有已发布数据库的发布访问列表中的db_owner固定数据库角色或用户的成员才能执行sp_mergemetadataretentioncleanup
。