Impostare il periodo di scadenza per le sottoscrizioni
Si applica a: SQL Server e Istanza gestita di SQL di Azure
Questo argomento descrive come impostare il periodo di scadenza per le sottoscrizioni in SQL Server usando SQL Server Management Studio o Transact-SQL. Il periodo di scadenza per le sottoscrizioni determina il periodo tempo che deve trascorrere prima che una sottoscrizione scada e venga rimossa. Per altre informazioni, vedere Subscription Expiration and Deactivation.
Contenuto dell'articolo
Prima di iniziare:
Per impostare il periodo di scadenza per le sottoscrizioni, utilizzando:
Prima di iniziare
Consigli
Il periodo di scadenza della sottoscrizione viene inoltre denominato periodo di memorizzazione della pubblicazione. La pulizia dei metadati di replica di tipo merge dipende da questa impostazione:
La replica non è in grado di eliminare i metadati dei database di pubblicazione e sottoscrizione prima della scadenza del periodo di memorizzazione. Quando si imposta un valore elevato per il periodo di memorizzazione, verificare che non sia tale da avere effetti negativi sulle prestazioni della replica. Se si prevede che la sincronizzazione di tutti i Sottoscrittori verrà eseguita regolarmente entro tale periodo di tempo, è consigliabile specificare un valore inferiore.
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. Se, ad esempio, si imposta un periodo di memorizzazione di un giorno, il periodo di memorizzazione effettivo sarà di 48 ore.
È possibile specificare che le sottoscrizioni non devono scadere, ma è consigliabile non utilizzare questo valore, perché impedisce l'eliminazione dei metadati.
Utilizzo di SQL Server Management Studio
Impostare il periodo di scadenza per le sottoscrizioni nella pagina Generale della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>. Per ulteriori informazioni sull'accesso a questa finestra di dialogo, vedere View and Modify Publication Properties.
Per impostare il periodo di scadenza per le sottoscrizioni
Specificare se le sottoscrizioni avranno una scadenza nella sezione Scadenza sottoscrizione della pagina Generale della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.
Se le sottoscrizioni avranno una scadenza, specificarne il periodo di tempo.
Utilizzo di 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.
Per impostare il periodo di scadenza per una sottoscrizione di una pubblicazione snapshot o transazionale
- Nel server di pubblicazione eseguire sp_addpublication. Specificare il periodo di scadenza desiderato per la sottoscrizione, in ore, per @retention. Il periodo di scadenza predefinito è 336 ore. Per altre informazioni, vedere Create a Publication.
Per impostare il periodo di scadenza per una sottoscrizione di una pubblicazione di tipo merge
Nel server di pubblicazione eseguire sp_addmergepublication. Specificare il valore desiderato per il periodo di scadenza della sottoscrizione per @retention. Specificare per @retention_period_unitle unità in cui esprimere il periodo di scadenza, che possono essere una delle seguenti:
1 = Settimana
2 = Mese
3 = Anno
Il periodo di scadenza predefinito è 14 giorni. Per altre informazioni, vedere Create a Publication.
Per modificare il periodo di scadenza per una sottoscrizione di una pubblicazione snapshot o transazionale
- Nel server di pubblicazione eseguire sp_changepublication. Specificare retention per @property e il nuovo periodo di scadenza della sottoscrizione, in ore, per @value.
Per modificare il periodo di scadenza per una sottoscrizione di una pubblicazione di tipo merge
Nel server di pubblicazione eseguire sp_helpmergepublication, specificando @publication e @publisher. Si noti il valore di retention_period_unit nel set di risultati, che può essere uno dei seguenti:
0 = giorno
1 = Settimana
2 = Mese
3 = Anno
Nel server di pubblicazione eseguire 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.
(Facoltativo) Nel server di pubblicazione eseguire sp_changemergepublication. Specificare retention_period_unit per @property e una nuova unità per il periodo di scadenza della sottoscrizione per @value.