Share via


Migrazione della configurazione per il log shipping di SQL Server 2000 a SQL Server 2008

Non è possibile aggiornare una configurazione per il log shipping di SQL Server 2000 a SQL Server 2008. Creazione guidata piano di manutenzione database è parte integrante del log shipping in SQL Server 2000, ma non viene utilizzata nell'ambito della configurazione per il log shipping a partire da SQL Server 2005. Di conseguenza, quando si esegue l'aggiornamento di un server a SQL Server 2008, non sarà più possibile eseguire il log shipping.

È possibile eseguire la migrazione della configurazione per il log shipping di SQL Server 2000. In questo argomento vengono illustrati i metodi per eseguire questa operazione:

  • La migrazione con failover consente di mantenere disponibile il database durante l'aggiornamento di ogni server nella configurazione per il log shipping. Non è necessario reinizializzare il database secondario.

  • La migrazione senza failover è una procedura più semplice, poiché non richiede l'esecuzione del failover sul server secondario. Se si esegue questa procedura, il database non sarà disponibile durante l'aggiornamento del server primario. Non è necessario reinizializzare il database secondario.

  • Ridistribuire completamente il log shipping, includendo la reinizializzazione del database secondario da un backup completo.

Dopo avere completato la migrazione della configurazione per il log shipping a SQL Server 2008, è possibile eliminare le tabelle e i processi di SQL Server Agent creati dal log shipping di SQL Server 2000.

[!NOTA]

La compressione dei backup è stata introdotta in SQL Server 2008 Enterprise Edition. In una configurazione per il log shipping migrata viene utilizzata l'opzione di configurazione a livello di server default backup compression per controllare se la compressione dei backup viene utilizzata per i file di backup del log delle transazioni. Il comportamento della compressione dei backup relativa ai backup del log può essere specificato per ogni configurazione per il log shipping. Per ulteriori informazioni, vedere Procedura: Attivazione della funzione di log shipping (SQL Server Management Studio).

Restrizioni

Dopo che una configurazione per il log shipping di SQL Server 2000 è stata migrata a SQL Server 2008, per i database secondari non può essere utilizzata la modalità standby.

Migrazione con failover

Per la migrazione di una configurazione per il log shipping tramite failover è necessario mantenere temporaneamente la versione originale di SQL Server dell'istanza del server primario mentre è in corso l'aggiornamento dell'istanza del server secondario. L'aggiornamento di un'istanza del server aggiorna solo i database in linea. Per i database fuori linea, come il database secondario di log shipping, viene mantenuta la versione originale di SQL Server. Finché un database rimane fuori linea, i backup dei log dalla versione originale di SQL Server sono ripristinabili.

Per maggiore chiarezza, questa procedura si riferisce all'istanza del server primario di log shipping SQL Server 2000 come server A e a quella del server secondario di log shipping SQL Server 2000 come server B. Questa configurazione è rappresentata nella figura seguente, in cui vengono illustrate un'istanza del server primario, A, e un'unica istanza del server secondario, B.

Un server secondario e nessun server di monitoraggio

  1. Eseguire l'aggiornamento dell'istanza del server secondario, Server B, a SQL Server 2008. Quando si esegue l'aggiornamento di Server B, il database di log shipping rimane un database di SQL Server 2000 perché non è in linea. Il database verrà aggiornato nel passaggio successivo. I processi per il log shipping di SQL Server 2000 che copiano e ripristinano file di log non funzioneranno più.

    [!NOTA]

    A questo punto, gli utenti possono continuare ad accedere al database primario su Server A.

  2. Eseguire il failover dall'istanza del server primario A su quella del server secondario.

    1. Per eseguire il failover, ripristinare tutti i backup del log delle transazioni non applicati dal database primario nel server A nel server B.

    2. Eseguire manualmente un backup della parte finale del log del log delle transazioni nel database primario specificando WITH NORECOVERY. Tale backup acquisisce qualsiasi record di log di cui non è stato eseguito il backup e attiva la modalità non in linea per il database.

      Nell'esempio seguente viene creato un backup della parte finale del log del database AdventureWorks nel server primario. Il file di backup viene denominato Failover_AW_20080315.trn:

      BACKUP LOG AdventureWorks 
        TO DISK = N'\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn'
        WITH NORECOVERY;
      GO
      
    3. Portare in linea il database secondario nel server B ripristinando la parte finale del log delle transazioni con l'opzione WITH RECOVERY.

    Il processo di failover consente di portare in linea il database secondario, che viene automaticamente aggiornato a un database di SQL Server 2008. Il processo di aggiornamento del database è un'operazione completamente registrata.

    [!NOTA]

    Dopo l'aggiornamento, il database di log shipping su Server B è disponibile agli utenti. Fino a quando il log shipping di SQL Server 2008 è configurato nel server B, tuttavia, i backup del log dal database nel server B non possono essere applicati.

  3. Eseguire l'aggiornamento di Server A a SQL Server 2008. Il database di log shipping rimane temporaneamente un database di SQL Server 2000 perché non è in linea.

  4. In Server B, configurare il log shipping di SQL Server 2008 specificando Server B come server primario e Server A come server secondario. Dopo avere iniziato a distribuire i log delle transazioni nel server A, il database di log shipping nel server A viene aggiornato a un database di SQL Server 2008 nel momento in cui si applica il primo backup del log.

    Nota importanteImportante

    Quando si configura il log shipping in Server B, accertarsi di impostare l'opzione No, il database secondario è già inizializzato della scheda Inizializza database secondario nella finestra di dialogo Impostazioni database secondario. Per ulteriori informazioni, vedere Procedura: Attivazione della funzione di log shipping (SQL Server Management Studio).

  5. Se si desidera reimpostare Server A come il server primario, eseguire il failover a Server A. Per ulteriori informazioni, vedere Modifica dei ruoli tra server primario e secondario.

Migrazione senza failover

È possibile eseguire la migrazione della configurazione per il log shipping di SQL Server 2000 a SQL Server 2005 senza eseguire il failover. La procedura è semplice e consente di aggiornare entrambe le istanze del server nella configurazione per il log shipping. Il database primario non è tuttavia disponibile durante l'aggiornamento dell'istanza del server primario a SQL Server 2008.

  1. Eseguire l'aggiornamento dell'istanza del server secondario a SQL Server 2008. Quando si esegue l'aggiornamento dell'istanza del server secondario, il database di log shipping rimane un database di SQL Server 2000 perché è in uno stato non in linea. I processi per il log shipping di SQL Server 2000 che copiano e ripristinano file di log non funzioneranno più.

  2. Eseguire l'aggiornamento del server primario a SQL Server 2008. Durante il processo di aggiornamento, il database primario non è disponibile.

  3. Configurare il log shipping dall'istanza del server primario all'istanza del server secondario. Accertarsi di impostare l'opzione No, il database secondario è già inizializzato della scheda Inizializza database secondario nella finestra di dialogo Impostazioni database secondario. Per ulteriori informazioni, vedere Procedura: Attivazione della funzione di log shipping (SQL Server Management Studio).

    Nota importanteImportante

    Specificare la stessa condivisione di backup utilizzata per la configurazione per il log shipping di SQL Server 2000. In questo modo si garantisce che tutti i backup dei log vengano applicati correttamente al database secondario quando si abilita il log shipping in SQL Server 2008.

    Poiché il processo di aggiornamento del database è un'operazione completamente registrata, quando si avvia il log shipping nell'istanza del server secondario, il database secondario viene aggiornato a un database di SQL Server 2008.

Ridistribuzione del log shipping

Se non si desidera eseguire la migrazione della configurazione per il log shipping, è possibile rieseguire il log shipping reinizializzando il database secondario con un backup e ripristino completi del database primario. Questa operazione è consigliabile nel caso di un database di piccole dimensioni oppure se non è essenziale garantire un livello di disponibilità elevato durante il processo di aggiornamento.

Per abilitare il log shipping

Rimozione delle tabelle e dei processi per il log shipping di SQL Server 2000

SQL Server 2008 non utilizza le tabelle per il log shipping utilizzate da SQL Server 2000 e pertanto è possibile eliminarle dopo avere eseguito l'aggiornamento del server a SQL Server 2008: Le tabelle sono le seguenti:

  • log_shipping_databases

  • log_shipping_monitor

  • log_shipping_plan_databases

  • log_shipping_plan_history

  • log_shipping_plans

  • log_shipping_primaries

  • log_shipping_secondaries

È inoltre possibile eliminare tutti i processi per il log shipping di SQL Server Agent creati per la configurazione per il log shipping da SQL Server 2000.