Modificare i ruoli tra i server primario e secondario per il log shipping (SQL Server)

Si applica a:SQL Server

Dopo aver eseguito il failover di una configurazione per il log shipping di SQL Server su un server secondario, è possibile configurare il database secondario per operare come database primario. Sarà quindi possibile scambiare il database primario e quello secondario in base alle proprie esigenze.

Esecuzione della modifica iniziale del ruolo

La prima volta che si desidera eseguire il failover al database secondario e impostarlo come nuovo database primario, è necessario eseguire alcuni passaggi specifici. Dopo avere eseguito tali passaggi iniziali, sarà possibile scambiare i ruoli tra database primario e secondario in modo semplice.

  1. Eseguire manualmente il failover dal database primario a un database secondario. Eseguire il backup del log delle transazioni attive nel server primario con l'opzione NORECOVERY. Per altre informazioni, vedere Failover su un database secondario per il log shipping (SQL Server).

  2. Disabilitare il processo di backup per il log shipping nel server primario originale e i processi di copia e ripristino nel server secondario originale.

  3. Nel database secondario, che si vuole impostare come nuovo database primario, configurare il log shipping usando SQL Server Management Studio. Per altre informazioni, vedere Configurare il log shipping (SQL Server). Eseguire i passaggi seguenti:

    1. Per la creazione di backup, usare la stessa condivisione creata per il server primario originale.

    2. Quando si aggiunge il database secondario, nella casella Database secondario della finestra di dialogo Impostazioni database secondario immettere il nome del database primario originale.

    3. Nella finestra di dialogo Impostazioni database secondario selezionare No, il database secondario è già inizializzato.

  4. Se il monitoraggio del log shipping era abilitato nella relativa configurazione precedente, riconfigurare il monitoraggio per controllare la nuova configurazione per il log shipping. Se si imposta threshold_alert_enabled su 1, viene generato un avviso quando viene superato il valore di restore_threshold. Eseguire i comandi riportati di seguito, sostituendo database_name con il nome del database in uso:

    1. Nel nuovo server primario

      Eseguire le istruzioni Transact-SQL seguenti:

      -- Statement to execute on the new primary server  
      USE msdb  
      GO  
      EXEC master.dbo.sp_change_log_shipping_secondary_database @secondary_database = N'database_name', @threshold_alert_enabled = 1;  
      GO  
      
    2. Nel nuovo server secondario

      Eseguire le istruzioni Transact-SQL seguenti:

      -- Statement to execute on the new secondary server  
      USE msdb  
      GO  
      EXEC master.dbo.sp_change_log_shipping_primary_database @database=N'database_name', @threshold_alert_enabled = 1;  
      GO  
      

Scambio di ruoli

Dopo avere completato i passaggi descritti in precedenza per la modifica iniziale dei ruoli, è possibile scambiare i ruoli tra il database primario e quello secondario eseguendo i passaggi indicati in questa sezione. Per modificare i ruoli, eseguire la procedura seguente:

  1. Portare online il database secondario, eseguendo il backup del log delle transazioni nel server primario con l'opzione NORECOVERY.

  2. Disabilitare il processo di backup per il log shipping nel server primario originale e i processi di copia e ripristino nel server secondario originale.

  3. Abilitare il processo di backup per il log shipping nel server secondario, ovvero il nuovo server primario, e i processi di copia e ripristino nel server primario, ovvero il nuovo server secondario.

Importante

Se si modifica un database secondario in database primario per offrire a utenti e applicazioni un sistema più coerente, potrebbe essere necessario ricreare alcuni o tutti i metadati del database, ad esempio account di accesso e processi, nell'istanza del nuovo server primario. Per altre informazioni, vedere Gestire i metadati quando si rende disponibile un database in un'altra istanza del server (SQL Server).

Attività correlate

Vedi anche

Tabelle e stored procedure relative al log shipping