Alterar funções entre servidores de envio de log primários e secundários (SQL Server)

Aplica-se a:SQL Server

Depois de fazer failover em uma configuração de log de envio do SQL Server para um servidor secundário, você pode configurar seu banco de dados secundário para agir como um banco de dados primário. Então, você poderá trocar os bancos de dados primários e secundários como necessário.

Executando a alteração inicial de função

Na primeira vez que você fizer failover no banco de dados secundário e torná-lo seu novo banco de dados primário, há uma série de etapas que deverão ser seguidas. Depois de seguir essas etapas iniciais, você poderá alterar as funções facilmente entre o banco de dados primário e o banco de dados secundário.

  1. Faça failover manualmente do banco de dados primário para um banco de dados secundário. Certifique-se de ter feito backup do log de transações ativas em seu servidor primário com NORECOVERY. Para obter mais informações, confira Executar failover em um secundário de envio de logs (SQL Server).

  2. Desabilite o trabalho de backup de envio de logs no servidor primário original e os trabalhos de cópia e restauração no servidor secundário original.

  3. Em seu banco de dados secundário (o banco de dados que você quer que seja o novo primário), configure o envio do log usando o SQL Server Management Studio. Para obter mais informações, veja Configurar o envio de logs (SQL Server). Inclua as seguintes etapas:

    1. Use o mesmo compartilhamento usado para criar o servidor primário original para criar os backups.

    2. Quando adicionar o banco de dados secundário, na caixa de diálogo Configurações do Banco de Dados Secundário , digite o nome do banco de dados primário original na caixa Banco de dados secundário .

    3. Na caixa de diálogo Configurações do Banco de Dados Secundário , selecione Não, o banco de dados secundário é inicializado.

  4. Se o monitoramento de envio de logs tiver sido habilitado em sua configuração de envio de logs antiga, reconfigure o monitoramento de envio de logs para monitorar a nova configuração de envio de logs. Definir threshold_alert_enabled como 1 especifica que um alerta será gerado quando restore_threshold for excedido. Execute os seguintes comandos, substituindo database_name pelo nome de seu banco de dados:

    1. No novo servidor primário

      Execute as seguintes instruções Transact-SQL:

      -- 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. No novo servidor secundário:

      Execute as seguintes instruções Transact-SQL:

      -- 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  
      

Alterando as funções

Depois de ter concluído as etapas acima para a mudança inicial de funções, você poderá alterar as funções entre o banco de dados primário e o banco de dados secundário seguindo as etapas nesta seção. Para executar uma mudança de função, siga estas etapas gerais:

  1. Coloque o banco de dados secundário online, fazendo backup do log de transações no servidor primário com NORECOVERY.

  2. Desabilite o trabalho de backup de envio de logs no servidor primário original e os trabalhos de cópia e restauração no servidor secundário original.

  3. Habilite o trabalho de backup de envio de logs no servidor secundário (o novo servidor primário) e os trabalhos de cópia e restauração no servidor primário (o novo servidor secundário).

Importante

Ao alterar um banco de dados secundário para um banco de dados primário, para oferecer uma experiência consistente aos usuários e aplicativos, você poderá ter de recriar alguns ou todos os metadados do banco de dados, como logons e trabalhos, na nova instância de servidor primário. Para obter mais informações, confira Gerenciar metadados ao disponibilizar um banco de dados em outra instância do servidor (SQL Server).

Related Tasks

Consulte Também

Tabelas de envio de log e procedimentos armazenados