適用於: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指定新的訂閱逾期期限單位。