Impostazione del periodo di scadenza per le sottoscrizioniSet the Expiration Period for Subscriptions

In questo argomento si illustra come impostare il periodo di scadenza per le sottoscrizioni in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to set the expiration period for subscriptions in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Il periodo di scadenza per le sottoscrizioni determina il periodo tempo che deve trascorrere prima che una sottoscrizione scada e venga rimossa.The expiration period for subscriptions determines the period of time before a subscription expires and is removed. Per altre informazioni, vedere Subscription Expiration and Deactivation.For more information, see Subscription Expiration and Deactivation.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Indicazioni Recommendations

  • Il periodo di scadenza della sottoscrizione viene inoltre denominato periodo di memorizzazione della pubblicazione.The subscription expiration period is also referred to as the publication retention period. La pulizia dei metadati di replica di tipo merge dipende da questa impostazione:Cleanup of merge replication metadata is dependent on this setting:

    • La replica non è in grado di eliminare i metadati dei database di pubblicazione e sottoscrizione prima della scadenza del periodo di memorizzazione.Replication cannot clean up metadata in the publication and subscription databases until the retention period is reached. Quando si imposta un valore elevato per il periodo di memorizzazione, verificare che non sia tale da avere effetti negativi sulle prestazioni della replica.Use caution in specifying a high value for the retention period, because it can negatively impact replication performance. Se si prevede che la sincronizzazione di tutti i Sottoscrittori verrà eseguita regolarmente entro tale periodo di tempo, è consigliabile specificare un valore inferiore.It is recommended that you use a lower setting if you can reliably predict that all Subscribers will synchronize regularly within that time period.

      Il periodo di memorizzazione per le pubblicazioni di tipo merge ha un periodo di prova di 24 ore per adattarsi ai Sottoscrittori dei diversi fusi orari.The retention period for merge publications has a 24-hour grace period to accommodate Subscribers in different time zones. Se, ad esempio, si imposta un periodo di memorizzazione di un giorno, il periodo di memorizzazione effettivo sarà di 48 ore.If, for example, you set a retention period of one day, the actual retention period is 48 hours.

    • È possibile specificare che le sottoscrizioni non devono scadere, ma è consigliabile non utilizzare questo valore, perché impedisce l'eliminazione dei metadati.It is possible to specify that subscriptions never expire, but it is strongly recommended that you do not use this value, because metadata cannot be cleaned up.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Impostare il periodo di scadenza per le sottoscrizioni nella pagina Generale della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.Set the expiration period for subscriptions on the General page of the Publication Properties - <Publication> dialog box. Per ulteriori informazioni sull'accesso a questa finestra di dialogo, vedere View and Modify Publication Properties.For more information about accessing this dialog box, see View and Modify Publication Properties.

Per impostare il periodo di scadenza per le sottoscrizioniTo set the expiration period for subscriptions

  1. Specificare se le sottoscrizioni avranno una scadenza nella sezione Scadenza sottoscrizione della pagina Generale della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.In the Subscription expiration section on the General page of the Publication Properties - <Publication> dialog box, specify whether subscriptions should expire.

  2. Se le sottoscrizioni avranno una scadenza, specificarne il periodo di tempo.If they should expire, specify an expiration time period.

Utilizzo di Transact-SQL Using Transact-SQL

Per impostare questo valore quando viene creata una pubblicazione o per modificarlo in un secondo momento, è possibile utilizzare le stored procedure di replica.You can use replication stored procedures to either set this value when a publication is created or modify this value at a later time.

Per impostare il periodo di scadenza per una sottoscrizione di una pubblicazione snapshot o transazionaleTo set the expiration period for a subscription to a snapshot or transactional publication

  1. Nel server di pubblicazione eseguire sp_addpublication.At the Publisher, execute sp_addpublication. Specificare il periodo di scadenza desiderato per la sottoscrizione, in ore, per @retention.Specify the desired subscription expiration period, in hours, for @retention. Il periodo di scadenza predefinito è 336 ore.The default expiration period is 336 hours. Per altre informazioni, vedere Create a Publication.For more information, see Create a Publication.

Per impostare il periodo di scadenza per una sottoscrizione di una pubblicazione di tipo mergeTo set the expiration period for a subscription to a merge publication

  1. Nel server di pubblicazione eseguire sp_addmergepublication.At the Publisher, execute sp_addmergepublication. Specificare il valore desiderato per il periodo di scadenza della sottoscrizione per @retention.Specify the desired value for the subscription expiration period for @retention. Specificare per @retention_period_unitle unità in cui esprimere il periodo di scadenza, che possono essere una delle seguenti:Specify the units in which the expiration period is expressed for @retention_period_unit, which can be one of the following:

    • 1 = Settimana1 = week

    • 2 = Mese2 = month

    • 3 = Anno3 = year

      Il periodo di scadenza predefinito è 14 giorni.The default expiration period is 14 days. Per altre informazioni, vedere Create a Publication.For more information, see Create a Publication.

Per modificare il periodo di scadenza per una sottoscrizione di una pubblicazione snapshot o transazionaleTo change the expiration period for a subscription to a snapshot or transactional publication

  1. Nel server di pubblicazione eseguire sp_changepublication.At the Publisher, execute sp_changepublication. Specificare retention per @property e il nuovo periodo di scadenza della sottoscrizione, in ore, per @value.Specify retention for @property and the new subscription expiration period, in hours, for @value.

Per modificare il periodo di scadenza per una sottoscrizione di una pubblicazione di tipo mergeTo change the expiration period for a subscription to a merge publication

  1. Nel server di pubblicazione eseguire sp_helpmergepublication, specificando @publication e @publisher.At the Publisher, execute sp_helpmergepublication, specifying @publication and @publisher. Si noti il valore di retention_period_unit nel set di risultati, che può essere uno dei seguenti:Note the value of retention_period_unit in the result set, which can be one of the following:

    • 0 = giorno0 = day

    • 1 = Settimana1 = week

    • 2 = Mese2 = month

    • 3 = Anno3 = year

  2. Nel server di pubblicazione eseguire sp_changemergepublication.At the Publisher, execute sp_changemergepublication. Specificare retention per @property e il nuovo periodo di scadenza della sottoscrizione, come testo basato sull'unità del periodo di memorizzazione indicata nel passaggio 1, per @value.Specify retention for @property and the new subscription expiration period, as text based on the retention period unit from step 1, for @value.

  3. (Facoltativo) Nel server di pubblicazione eseguire sp_changemergepublication.(Optional) At the Publisher, execute sp_changemergepublication. Specificare retention_period_unit per @property e una nuova unità per il periodo di scadenza della sottoscrizione per @value.Specify retention_period_unit for @property and a new unit for the subscription expiration period for @value.

Vedere ancheSee Also

Concetti di base relativi alle stored procedure del sistema di replica Replication System Stored Procedures Concepts
Subscription Expiration and DeactivationSubscription Expiration and Deactivation