設定訂閱的逾期期限
適用於:SQL Server Azure SQL 受控執行個體
本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中設定訂閱的逾期期限。 訂閱的逾期期限可決定訂閱到期及移除之前的期間。 如需詳細資訊,請參閱 Subscription Expiration and Deactivation。
本主題內容
開始之前:
若要設定訂閱的逾期期限,請使用:
開始之前
建議
訂閱過期期間也稱為 「發行集保留期限」 。 清除合併式複寫的中繼資料取決於此設定:
複寫無法在發行集和訂閱資料庫中清除中繼資料,直到到達保留期限為止。 小心指定保留期限的高數值,因為此值可能對複寫效能產生負面影響。 若您能夠確實預測所有訂閱者都會在該時間週期內定期同步處理,建議您使用較低設定。
合併式發行集的保留期限具有 24 小時寬限期,可配合不同時區的「訂閱者」。 例如,如果您設定的保留期限是一天,實際的保留期限便是 48 小時。
您可以將訂閱指定為永不過期,不過強烈建議您不要使用此值,因為如此便無法清除中繼資料了。
使用 SQL Server Management Studio
您可以在 [發行集屬性 - <發行集>] 對話方塊的 [一般] 頁面上,設定訂閱的逾期期限。 如需有關存取這個對話方塊的詳細資訊,請參閱< View and Modify Publication Properties>。
若要設定訂閱的過期期間
在 [發行集屬性 - <發行集>] 對話方塊之 [一般] 頁面的 [訂閱逾期] 區段中,指定訂閱是否應逾期。
如果應過期,則指定過期期間。
使用 TRANSACT-SQL
您可以使用複寫預存程序,在建立發行集時設定這個值,或是在稍後修改這個值。
設定快照式或交易式發行集之訂閱的逾期期限
- 在發行者上,執行 sp_addpublication。 針對 @retention指定所要的訂閱逾期期限 (以小時為單位)。 預設的逾期期限為 336 小時。 如需詳細資訊,請參閱建立發行集。
設定合併式發行集之訂閱的逾期期限
在發行者端,執行 sp_addmergepublication。 針對 @retention指定所要的訂閱逾期期限值。 針對 @retention_period_unit指定所表示的逾期期限單位,它可以是以下其中一項:
1 = 週
2 = 月
3 = 年
預設的逾期期限為 14 天。 如需詳細資訊,請參閱建立發行集。
變更快照式或交易式發行集之訂閱的逾期期限
- 在發行者上,執行 sp_changepublication。 針對 @property 指定 retention ,並針對 @value指定新的訂閱逾期期限 (以小時為單位)。
變更合併式發行集之訂閱的逾期期限
在發行者上,執行 sp_helpmergepublication,指定 @publication 和 @publisher。 請注意結果集中 retention_period_unit 的值,它可以是下列其中一個值:
0 = 日
1 = 週
2 = 月
3 = 年
在發行者上,執行 sp_changemergepublication。 針對 @property 指定 retention ,並針對 @value指定新的訂閱逾期期限 (以步驟 1 中保留期限單位為根據的文字)。
(選擇性) 在發行者上,執行 sp_changemergepublication。 針對 @property 指定 retention_period_unit ,並針對 @value指定新的訂閱逾期期限單位。