Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza gestita di SQL di Azure
Le sottoscrizioni possono essere disattivate o scadere se non vengono sincronizzate entro il periodo di memorizzazionespecificato. L'azione che si verifica dipende dal tipo di replica e dal periodo di conservazione che viene superato.
Per impostare i periodi di memorizzazione, vedi Impostare il periodo di scadenza per le sottoscrizioni, Impostare il periodo di memorizzazione per la distribuzione per le pubblicazioni transazionali (SQL Server Management Studio), e Configurare la pubblicazione e la distribuzione.
Replicazione transazionale
La replica transazionale usa il periodo massimo di memorizzazione per la distribuzione (il parametro @max_distretention di sp_adddistributiondb (Transact-SQL)) e il periodo di memorizzazione della pubblicazione (il parametro @retention di sp_addpublication (Transact-SQL)):
Se un abbonamento non è sincronizzato entro il periodo massimo di conservazione della distribuzione (predefinito di 72 ore) e ci sono modifiche nel database di distribuzione che non vengono consegnate all'Abbonato, l'abbonamento viene segnato come disattivato dal lavoro di pulizia dell'Abbonamento Scaduto che viene eseguito sul Distributore. Devi riavviare l'abbonamento.
Se un abbonamento non è sincronizzato entro il periodo di conservazione della pubblicazione (predefinito 336 ore), l'abbonamento scade e viene interrotto dal lavoro di pulizia dell'abbonamento scaduto che viene eseguito sull'Publisher. (Prima della correzione in KB4014798, il lavoro si chiamava Pulizia della distribuzione.) Devi ricreare e sincronizzare l'abbonamento.
Se un abbonamento push scade, viene completamente rimosso, ma gli abbonamenti pull non vengono rimossi. È necessario rimuovere le sottoscrizioni pull nel Sottoscrittore. Per altre informazioni, vedere Delete a Pull Subscription.
Replica di tipo merge
La replica di tipo merge usa il periodo di memorizzazione della pubblicazione (i parametri @retention e @retention_period_unit di sp_addmergepublication (Transact-SQL)). Quando un abbonamento scade, è necessario reinizializzarlo perché il processo rimuove i metadati relativi all'abbonamento. Il processo di pulizia delle sottoscrizioni scadute eseguito nel Publisher elimina le sottoscrizioni che non vengono reinizializzate. Per impostazione predefinita, questo lavoro viene eseguito quotidianamente. Elimina tutti gli abbonamenti push che non si sincronizzano per il doppio del periodo di conservazione della pubblicazione. Ad esempio:
Se una pubblicazione ha un periodo di conservazione di 14 giorni, un abbonamento può scadere se non si sincronizza entro 14 giorni.
Se l'Publisher esegue SQL Server 2005 (9.x) o una versione successiva e l'agente per l'abbonamento proviene da SQL Server 2005 (9.x) o una versione successiva, un abbonamento scade solo se ci sono modifiche ai dati nella partizione di quell'abbonamento. Ad esempio, si supponga che un Sottoscrittore riceva dati relativi solo ai clienti residenti in Germania. Se il periodo di ritenzione è impostato a 14 giorni, l'abbonamento scade al giorno 14 solo se ci sono cambiamenti nei dati dei clienti tedeschi negli ultimi 14 giorni.
Da 14 a 27 giorni dall'ultima sincronizzazione, puoi riavviare l'abbonamento.
A 28 giorni dall'ultima sincronizzazione, il lavoro di pulizia dell'abbonamento scaduto interrompe l'abbonamento. Se un abbonamento push scade, viene rimosso completamente, mentre quelli pull non lo sono. È necessario rimuovere le sottoscrizioni pull nel Sottoscrittore. Per altre informazioni, vedere Delete a Pull Subscription.
Considerazioni per stabilire il periodo di conservazione delle pubblicazioni per le pubblicazioni fusionate
Tenere sempre presenti le considerazioni seguenti nell'impostazione del periodo di memorizzazione per le pubblicazioni di tipo merge:
Il periodo di conservazione per le pubblicazioni fuse include un periodo di grazia di 24 ore per accogliere gli abbonati in diversi fusi orari. Ad esempio, se imposti un periodo di mantenimento di un giorno, il periodo effettivo è di 48 ore.
La pulizia dei metadati di replicazione delle fusioni dipende dal periodo di conservazione della pubblicazione:
La replica non può pulire i metadati nei database di pubblicazione e di sottoscrizione finché non viene raggiunto il periodo di conservazione. Usa cautela quando specifichi un valore alto per il periodo di conservazione, perché può influire negativamente sulle prestazioni di replicazione. Usa un'impostazione più bassa se puoi prevedere con certezza che tutti gli abbonati si sincronizzeranno regolarmente in quel periodo di tempo.
Puoi specificare che gli abbonamenti non scadono mai (un valore di 0 per
@retention), ma non usare questo valore perché i metadati non possono essere ripuliti.
Imposta il periodo di conservazione per ogni republisher a un valore uguale o inferiore al periodo di retention stabilito dall'Publisher originale. Inoltre, usa gli stessi valori di conservazione delle pubblicazioni per tutti gli editori e i loro partner alternativi di sincronizzazione. L'uso di valori diversi potrebbe portare a una non convergenza. Se è necessario modificare il valore di conservazione della pubblicazione, reinizializzare il Sottoscrittore per evitare la mancata convergenza dei dati.
Se aumenti il periodo di conservazione delle pubblicazioni dopo una pulizia e un abbonamento cerca di fondersi con l'Publisher (che ha già eliminato i metadati), l'abbonamento non scadrà a causa del valore di conservazione aumentato. Tuttavia, il Publisher non dispone di metadati sufficienti per scaricare le modifiche nel Subscriber, causando la mancata convergenza.