本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中设置订阅的过期期限。 订阅的到期期限确定订阅过期前的时间段,并被删除。 有关详细信息,请参阅 订阅过期和停用。
本主题内容
准备工作:
若要设置订阅的过期期限,请使用:
在您开始之前
建议
订阅到期期限也称为 发布保留期。 合并复制元数据的清理取决于此设置:
在达到保留期之前,复制无法清理发布和订阅数据库中的元数据。 请谨慎指定保留期的高值,因为它可能会对复制性能产生负面影响。 如果能够可靠地预测所有订阅服务器将在该时间段内定期同步,则建议使用较低的设置。
合并发布的保留期包含一个24小时的宽限期,以便适应不同时间区的订阅者。 例如,如果设置一天的保留期,则实际保留期为 48 小时。
可以指定订阅永不过期,但强烈建议不要使用此值,因为无法清理元数据。
使用 SQL Server Management Studio
在“发布属性 - <发布>”对话框的“常规”页上设置订阅的过期期限。 有关访问此对话框的详细信息,请参阅 “查看和修改发布属性”。
设置订阅的过期期限
在“发布属性 - <发布>”对话框的“常规”页上的“订阅过期”部分中,指定订阅是否应过期。
如果它们应过期,请指定到期时间段。
使用 Transact-SQL
可以使用复制存储过程在创建发布时设置此值,也可以在以后修改此值。
为快照或事务发布设置订阅的到期期限
- 在发布服务器上,执行 sp_addpublication。 指定 @retention所需的订阅过期期限(以小时为单位)。 默认过期期限为 336 小时。 有关详细信息,请参阅 “创建发布”。
将订阅的到期期限设置为合并发布
在发布服务器上,执行 sp_addmergepublication。 为 @retention的订阅到期期指定所需的值。 指定 @retention_period_unit 表示到期期限的单位,可以是以下之一:
1 = 周
2 = 月
3 = 年份
默认过期期限为 14 天。 有关详细信息,请参阅 “创建发布”。
更改快照或事务发布的订阅的到期期限
- 在发布服务器上,执行 sp_changepublication。 指定@property的保留策略和新订阅过期时间(@value以小时为单位)。
将订阅的到期期限更改为合并发布
在发布服务器上,执行 sp_helpmergepublication,指定 @publication 和 @publisher。 请注意结果集中 retention_period_unit 的值,可以是下列值之一:
0 = 天
1 = 周
2 = 月
3 = 年份
在发布服务器上,执行 sp_changemergepublication。 为@property指定保留期参数以及新的订阅过期期限,文本内容基于步骤 1 中的保留期单位,应用于@value。
(可选)在发布服务器上,执行 sp_changemergepublication。 为@property指定retention_period_unit,并为@value的订阅到期期指定新单位。