Condividi tramite


Informazioni sulla distribuzione dei log

La distribuzione dei log consente di inviare automaticamente i backup del log delle transazioni da un database primario in un'istanza del server primario a uno o più database secondari in istanze separate del server secondario. I backup del log delle transazioni vengono applicati singolarmente a ogni database secondario. Un terzo server facoltativo, definito server di monitoraggio, registra la cronologia e lo stato delle operazioni di backup e di ripristino e genera avvisi nel caso in cui tali operazioni non vengano eseguite come previsto.

Operazioni per la distribuzione dei log

La distribuzione dei log prevede tre operazioni:

  1. Backup del log delle transazioni nell'istanza del server primario.
  2. Copia del file di log delle transazioni nell'istanza del server secondario.
  3. Ripristino del backup del log nell'istanza del server secondario.

È possibile distribuire il log a più istanze del server secondario e in questo caso sarà necessario ripetere le operazioni 2 e 3 per ognuna delle istanze.

Il failover di una configurazione per la distribuzione dei log dal server primario al server secondario non viene eseguito automaticamente. Se il database primario non è più disponibile, è possibile portare in linea manualmente uno qualsiasi dei database secondari.

È possibile utilizzare un database secondario per la generazione di report. Per ulteriori informazioni, vedere Utilizzo di server secondari per l'elaborazione delle query.

[!NOTA] Il server primario e i server secondari possono trovarsi nello stesso computer. In questo caso, tuttavia, è possibile che i migliori risultati si ottengano tramite il clustering di failover di SQL Server. Per ulteriori informazioni, vedere Clustering di failover.

È inoltre possibile configurare avvisi per la configurazione per la distribuzione dei log.

Server e database primari

Il server primario in una configurazione per la distribuzione dei log è l'istanza del Motore di database di SQL Server che rappresenta il server di produzione. Il database primario è il database nel server primario per il quale si desidera eseguire il backup su un altro server. Tutte le procedure di amministrazione della configurazione per la distribuzione dei log tramite SQL Server Management Studio vengono eseguite dal database primario.

Il database primario deve utilizzare il modello di recupero con registrazione completa o registrazione minima delle transazioni di massa. Il passaggio al modello di recupero con registrazione minima comporterà l'interruzione della distribuzione dei log.

Server e database secondari

Il server secondario in una configurazione per la distribuzione dei log è il server in cui si desidera mantenere una copia del database primario in modalità standby a caldo (warm standby). Un server secondario può contenere copie di backup di database di numerosi server primari diversi. Si supponga, ad esempio, che in un reparto siano presenti cinque server, ognuno dei quali esegue un sistema di database critico per le strategie aziendali. È possibile utilizzare un unico server secondario, anziché cinque server secondari distinti. I backup dei cinque sistemi primari possono essere caricati nell'unico sistema di backup, con conseguente riduzione del numero di risorse e dell'investimento corrispondente. È improbabile che si verifichino contemporaneamente errori su più sistemi primari. Per ovviare anche a tale eventualità, è possibile prevedere un server secondario con specifiche superiori a quelle dei server primari.

Per inizializzare il database secondario è necessario ripristinare un backup completo del database primario, utilizzando l'opzione NORECOVERY o STANDBY per completare la procedura. È possibile eseguire questa operazione manualmente o tramite SQL Server Management Studio.

Server di monitoraggio

Il server di monitoraggio facoltativo tiene traccia di tutti i dettagli relativi alla distribuzione dei log, ad esempio:

  • Quando è stato eseguito l'ultimo backup del log delle transazioni nel database primario.
  • Quando i server secondari hanno eseguito per l'ultima volta la copia e il ripristino dei file di backup.
  • Informazioni sugli avvisi di backup non riusciti.

Per evitare la perdita di dati critici o l'interruzione del monitoraggio nel caso in cui il server primario o secondario non sia più disponibile, è consigliabile utilizzare come server di monitoraggio un server distinto da quelli primario e secondario. Un singolo server di monitoraggio è in grado di monitorare più configurazioni per la distribuzione dei log. In questo scenario, tutte le configurazioni che utilizzano il server di monitoraggio condividono un singolo processo di gestione degli avvisi.

ms187103.note(it-it,SQL.90).gifImportante:
Dopo avere configurato il server di monitoraggio non sarà possibile modificarlo senza prima rimuovere la distribuzione dei log.

Per ulteriori informazioni, vedere Monitoraggio della distribuzione dei log.

Processi per la distribuzione dei log

La distribuzione dei log comprende quattro processi gestiti da processi di SQL Server Agent dedicati, ovvero il processo di backup, il processo di copia, il processo di ripristino e il processo per la gestione degli avvisi.

L'utente controlla la frequenza di esecuzione dei backup del log, la frequenza con cui vengono copiati in ogni server secondario e la frequenza con cui vengono applicati al database secondario. Per ridurre la quantità di operazioni necessarie per portare in linea un server secondario, ad esempio in caso di errore nel sistema di produzione, è possibile copiare e ripristinare i backup del log delle transazioni non appena vengono creati. In alternativa, ad esempio in un ulteriore server secondario, è possibile ritardare l'applicazione dei backup del log delle transazioni nel database secondario. In questo modo sarà disponibile un intervallo durante il quale è possibile individuare un eventuale errore grave nel sistema primario, ad esempio l'eliminazione accidentale di dati di importanza cruciale, e intraprendere le misure correttive opportune.

Processo di backup

Nell'istanza del server primario viene creato un processo di backup per ogni database primario. Il processo esegue il backup, registra la cronologia nel server locale e nel server di monitoraggio ed elimina i file di backup e le informazioni sulla cronologia precedenti. Per impostazione predefinita, questo processo viene eseguito ogni due minuti, ma l'intervallo è personalizzabile.

Se la distribuzione dei log è attivata, nell'istanza del server primario viene creata la categoria di processi di SQL Server Agent relativa al backup per la distribuzione dei log.

Processo di copia

In una configurazione per la distribuzione dei log viene creato un processo di copia in ogni istanza del server secondario. Il processo copia i file di backup del server primario in una destinazione configurabile del server secondario e registra la cronologia nel server secondario e nel server di monitoraggio. La pianificazione del processo di copia, che è personalizzabile, deve seguire da vicino la pianificazione del backup.

Se la distribuzione dei log è attivata, nell'istanza del server secondario viene creata la categoria di processi di SQL Server Agent relativa alla copia per la distribuzione dei log.

Processo di ripristino

Per ogni configurazione per la distribuzione dei log, viene creato un processo di ripristino nell'istanza del server secondario. Il processo ripristina i file di backup copiati nei database secondari, registra la cronologia nel server locale e nel server di monitoraggio ed elimina i file e le informazioni sulla cronologia precedenti. Se la distribuzione dei log è attivata, nell'istanza del server secondario viene creata la categoria di processi di SQL Server Agent relativa al ripristino per la distribuzione dei log.

In un'istanza specifica del server secondario è possibile pianificare il processo di ripristino e quello di copia con la stessa frequenza, oppure ritardare il processo di ripristino. Pianificando una frequenza uguale per i due processi, il database secondario resterà quanto più possibile allineato al database primario, consentendo di creare un database in modalità standby a caldo (warm standby).

Ritardare i processi di ripristino di qualche ora può invece essere utile in caso di un errore grave dell'utente, come l'eliminazione impropria di una tabella o di una riga di una tabella. Se l'orario dell'errore è noto, è possibile eseguire il rollforward del database secondario a un momento immediatamente precedente all'errore, esportare i dati perduti e importarli nuovamente nel database primario.

Processo gestione avvisi

Se si utilizza un server di monitoraggio, nell'istanza di tale server viene creato un processo per la gestione degli avvisi. Il processo è condiviso dai database primari e secondari di tutte le configurazioni per la distribuzione dei log che utilizzano l'istanza del server di monitoraggio. Qualsiasi modifica al processo per la gestione degli avvisi (ad esempio la ripianificazione, la disattivazione o l'attivazione del processo) influisce su tutti i database che utilizzano il server di monitoraggio. Il processo genera avvisi, per ognuno dei quali è necessario specificare un numero, relativi ai database primari e secondari nel caso in cui le operazioni di backup e ripristino non vengano completate entro le soglie stabilite. È necessario configurare gli avvisi in modo che un operatore riceva la notifica di un errore della distribuzione dei log. Se la distribuzione dei log è attivata, nell'istanza del server di monitoraggio viene creata la categoria di processi di SQL Server Agent relativa alla gestione degli avvisi per la distribuzione dei log.

Se non si utilizza un server di monitoraggio, i processi per la gestione degli avvisi vengono creati localmente nell'istanza del server primario e in ogni istanza di server secondario. Il processo per la gestione degli avvisi nell'istanza del server primario genera errori nel caso in cui le operazioni di backup non vengano completate entro una soglia stabilita. Quello nell'istanza del server secondario genera errori nel caso in cui le operazioni di copia e ripristino locali non vengano completate entro una soglia stabilita.

Configurazione tipica per la distribuzione dei log

Nella figura seguente viene illustrata una configurazione per la distribuzione dei log con l'istanza del server primario, tre istanze del server secondario e un'istanza del server di monitoraggio. Nella figura vengono illustrati i passaggi eseguiti dai processi di backup, copia e ripristino, nel modo che segue:

  1. L'istanza del server primario esegue il processo di backup per eseguire il backup del log delle transazioni nel database primario. Il backup del log viene quindi inserito in un file di backup del log primario, che viene inviato alla cartella di backup. In questa figura, la cartella di backup risiede in una directory condivisa, la condivisione di backup.
  2. Ognuna delle tre istanze del server secondario esegue un processo di copia per copiare il file di backup del log primario nella propria cartella di destinazione locale.
  3. Ognuna delle istanze del server secondario esegue un processo di ripristino per ripristinare il backup del log dalla cartella di destinazione locale al database secondario locale.

Le istanze del server primario e secondario inviano la propria cronologia e il proprio stato all'istanza del server di monitoraggio.

Configurazione che include processi di backup, copia e ripristino

Per attivare la distribuzione dei log

Vedere anche

Concetti

Tabelle e stored procedure relative alla distribuzione dei log
Mirroring del database e distribuzione dei log

Altre risorse

Distribuzione dei log

Guida in linea e informazioni

Assistenza su SQL Server 2005