Prepare-se para usar um grupo de disponibilidade SQL Server Always On com Configuration Manager

Aplica-se a: Gerenciador de Configurações (branch atual)

Use este artigo para preparar Configuration Manager para usar um grupo de disponibilidade SQL Server Always On para o banco de dados do site. Esse recurso fornece uma solução de recuperação de desastre e alta disponibilidade.

Configuration Manager dá suporte ao uso de grupos de disponibilidade:

  • Em sites primários e no site de administração central.
  • Local ou no Microsoft Azure.

Ao usar grupos de disponibilidade no Microsoft Azure, você pode aumentar ainda mais a disponibilidade do banco de dados do site usando conjuntos de disponibilidade do Azure. Para obter mais informações sobre conjuntos de disponibilidade do Azure, consulte Gerenciar a disponibilidade de máquinas virtuais.

Importante

Antes de continuar, fique confortável com a configuração de grupos de SQL Server e disponibilidade. Este artigo faz referência à biblioteca de documentação SQL Server com mais informações e procedimentos.

Cenários com suporte

Os cenários a seguir têm suporte para usar grupos de disponibilidade com Configuration Manager. Para obter mais informações e procedimentos para cada cenário, consulte Configurar grupos de disponibilidade para Configuration Manager.

Pré-requisitos

Os pré-requisitos a seguir se aplicam a todos os cenários. Se pré-requisitos adicionais se aplicarem a um cenário específico, eles serão detalhados com esse cenário.

Configuration Manager contas e permissões

Conta de instalação

A conta que você usa para executar Configuration Manager configuração deve ser:

  • Um membro do grupo administradores locais em cada computador que é membro do grupo de disponibilidade.
  • Um sysadmin em cada instância de SQL Server que hospeda o banco de dados do site.

Servidor de site para replicar acesso de membro

A conta de computador do servidor do site deve ser um membro do grupo administradores locais em cada computador que é membro do grupo de disponibilidade.

SQL Server

Versão

Cada réplica no grupo de disponibilidade deve executar uma versão do SQL Server compatível com sua versão do Configuration Manager. Quando suportado por SQL Server, diferentes nós de um grupo de disponibilidade podem executar diferentes versões de SQL Server. Para obter mais informações, consulte Versões de SQL Server com suporte para Configuration Manager.

Edição

Use uma edição enterprise de SQL Server.

Conta

Cada instância de SQL Server pode ser executada em uma conta de usuário de domínio (conta de serviço) ou em uma conta que não seja de domínio. Cada réplica em um grupo pode ter uma configuração diferente.

Banco de dados

Configurar o banco de dados em uma nova réplica

Somente faça essas configurações em uma réplica primária. Para configurar uma réplica secundária, primeiro fail over the primary to the secondary. Essa ação torna o secundário a nova réplica primária.

Configure o banco de dados de cada réplica com as seguintes configurações:

  • Habilitar a integração clr:

    sp_configure 'show advanced options', 1;  
    GO  
    RECONFIGURE;  
    GO  
    sp_configure 'clr enabled', 1;  
    GO  
    RECONFIGURE;  
    GO
    

    Para obter mais informações, confira Integração clr.

  • Defina o tamanho máximo do repl de texto como 2147483647:

    EXECUTE sp_configure 'max text repl size (B)', 2147483647
    
  • Defina o proprietário do banco de dados como a conta SA. Você não precisa habilitar essa conta.

  • Ativar a configuração TRUSTWORTHY:

    ALTER DATABASE [CM_xxx] SET TRUSTWORTHY ON;
    

    Para obter mais informações, consulte a propriedade de banco de dados TRUSTWORTHY.

  • Habilitar o Service Broker:

    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER
    

    Observação

    Você não pode habilitar a opção Service Broker em um banco de dados que já faz parte de um grupo de disponibilidade. Você precisa habilitar essa opção antes de adicioná-la ao grupo de disponibilidade.

  • Configurar a prioridade do Service Broker:

    ALTER DATABASE [CM_xxx] SET HONOR_BROKER_PRIORITY ON;
    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
    

Script de verificação de banco de dados

Execute o script SQL a seguir para verificar as configurações do banco de dados para réplicas primárias e secundárias. Antes de corrigir um problema em uma réplica secundária, altere essa réplica secundária para ser a réplica primária.

    SET NOCOUNT ON

    DECLARE @dbname NVARCHAR(128)

    SELECT @dbname = sd.name FROM sys.sysdatabases sd WHERE sd.dbid = DB_ID()

    IF (@dbname = N'master' OR @dbname = N'model' OR @dbname = N'msdb' OR @dbname = N'tempdb' OR @dbname = N'distribution' ) BEGIN
    RAISERROR(N'ERROR: Script is targeting a system database.  It should be targeting the DB you created instead.', 0, 1)
    GOTO Branch_Exit;
    END ELSE
    PRINT N'INFO: Targeted database is ' + @dbname + N'.'

    PRINT N'INFO: Running verifications....'

    IF NOT EXISTS (SELECT * FROM sys.configurations c WHERE c.name = 'clr enabled' AND c.value_in_use = 1)
    PRINT N'ERROR: CLR is not enabled!'
    ELSE
    PRINT N'PASS: CLR is enabled.'

    DECLARE @repltable TABLE (
    name nvarchar(max),
    minimum int,
    maximum int,
    config_value int,
    run_value int )

    INSERT INTO @repltable
    EXEC sp_configure 'max text repl size (B)'

    IF NOT EXISTS(SELECT * from @repltable where config_value = 2147483647 and run_value = 2147483647 )
    PRINT N'ERROR: Max text repl size is not correct!'
    ELSE
    PRINT N'PASS: Max text repl size is correct.'

    IF NOT EXISTS (SELECT db.owner_sid FROM sys.databases db WHERE db.database_id = DB_ID() AND db.owner_sid = 0x01)
    PRINT N'ERROR: Database owner is not sa account!'
    ELSE
    PRINT N'PASS: Database owner is sa account.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_trustworthy_on = 1 )
    PRINT N'ERROR: Trustworthy bit is not on!'
    ELSE
    PRINT N'PASS: Trustworthy bit is on.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_broker_enabled = 1 )
    PRINT N'ERROR: Service broker is not enabled!'
    ELSE
    PRINT N'PASS: Service broker is enabled.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_honor_broker_priority_on = 1 )
    PRINT N'ERROR: Service broker priority is not set!'
    ELSE
    PRINT N'PASS: Service broker priority is set.'

    PRINT N'Done!'

    Branch_Exit:

Configurações do grupo de disponibilidade

Membros da réplica

  • O grupo de disponibilidade deve ter uma réplica primária.

  • Use o mesmo número e o tipo de réplicas em um grupo de disponibilidade que sua versão do SQL Server dá suporte.

  • Você pode usar uma réplica de commit assíncrona para recuperar sua réplica síncrona. Para obter mais informações, consulte opções de recuperação de banco de dados do site.

    Aviso

    Configuration Manager não dá suporte ao failover para usar a réplica de commit assíncrona como banco de dados do site. Para obter mais informações, consulte Modos de failover e failover (Always On grupos de disponibilidade).

Configuration Manager não valida o estado da réplica de commit assíncrona para confirmar se ela é atual. O uso de uma réplica de commit assíncrona, pois o banco de dados do site pode colocar em risco a integridade do site e dos dados. Essa réplica pode estar fora de sincronização por design. Para obter mais informações, consulte Visão geral dos grupos de disponibilidade SQL Server Always On.

Cada membro da réplica deve ter a seguinte configuração:

  • Use a instância padrão ou uma instância nomeada.

    Observação

    Não tenha um compartilhamento de arquivo no servidor que seja o mesmo nome do SQL Server nome da instância.

  • A configuração Conexões na Função Primária é Permitir todas as conexões.

  • A configuração secundária legível é Sim.

  • Habilitado para Failover Manual

    Observação

    Configuration Manager dá suporte ao uso das réplicas síncronas do grupo de disponibilidade quando definidas como Failover Automático. Defina Failover Manual quando:

    • Você executa Configuration Manager configuração para especificar o uso do banco de dados do site no grupo de disponibilidade.
    • Você instala qualquer atualização para Configuration Manager. (Não apenas atualizações que se aplicam ao banco de dados do site).
  • Todos os membros precisam do mesmo modo de semeadura.Configuration Manager configuração inclui uma verificação de pré-requisito para verificar essa configuração ao criar um banco de dados por meio da instalação ou recuperação.

    Observação

    Quando a configuração cria o banco de dados e você configura a semente automática , o grupo de disponibilidade deve ter permissões para criar o banco de dados. Esse requisito se aplica a um novo banco de dados ou recuperação. Para obter mais informações, confira Semeadura automática para réplica secundária.

Local do membro da réplica

Hospede todas as réplicas em um grupo de disponibilidade local ou hospede-as todas no Microsoft Azure. Não há suporte para um grupo que inclui um membro local e um membro no Azure.

Observação

Se você estiver usando uma máquina virtual do Azure para o SQL Server, habilite o IP flutuante. Para obter mais informações, consulte Configurar um balanceador de carga para um grupo de disponibilidade SQL Server Always On em máquinas virtuais do Azure.

Configuration Manager instalação precisa se conectar a cada réplica. Quando você configurar um grupo de disponibilidade no Azure e o grupo estiver atrás de um balanceador de carga interno ou externo, abra as seguintes portas padrão:

  • Mapeador de ponto de extremidade RPC: TCP 135

  • SQL Server Service Broker: TCP 4022

  • SQL sobre TCP: TCP 1433

Após a conclusão da instalação, essas portas devem permanecer abertas para Configuration Manager e analisador de link de replicação.

Você pode usar portas personalizadas para essas configurações. Use as mesmas portas personalizadas pelo ponto de extremidade e em todas as réplicas no grupo de disponibilidade.

Para SQL Server replicar dados entre sites, crie uma regra de balanceamento de carga para cada porta no balanceador de carga do Azure. Para obter mais informações, consulte Configurar portas de alta disponibilidade para um balanceador de carga interno.

Ouvinte

O grupo de disponibilidade deve ter pelo menos um ouvinte de grupo de disponibilidade. Quando você configura Configuration Manager para usar o banco de dados do site no grupo de disponibilidade, ele usa o nome virtual desse ouvinte. Embora um grupo de disponibilidade possa conter vários ouvintes, Configuration Manager só pode fazer uso de um. Para obter mais informações, consulte Criar ou configurar um ouvinte de grupo de disponibilidade SQL Server.

Caminhos de arquivo

Quando você executa Configuration Manager configuração para configurar um site para usar o banco de dados em um grupo de disponibilidade, cada servidor de réplica secundária deve ter um caminho de arquivo SQL Server idêntico ao caminho do arquivo para os arquivos de banco de dados do site na réplica primária atual. Se um caminho idêntico não existir, a instalação não adicionará a instância do grupo de disponibilidade como o novo local do banco de dados do site.

A conta de serviço SQL Server local deve ter permissão de Controle Total para essa pasta.

Os servidores de réplica secundários exigem apenas esse caminho de arquivo enquanto você estiver usando Configuration Manager configuração para especificar a instância do banco de dados no grupo de disponibilidade. Depois de concluir a configuração do banco de dados do site no grupo de disponibilidade, você poderá excluir o caminho não utilizado das réplicas secundárias.

Por exemplo, considere o seguinte cenário:

  • Você cria um grupo de disponibilidade que usa três SQL Servers.

  • Seu servidor de réplica principal é uma nova instalação do SQL Server 2014. Por padrão, ele armazena os arquivos MDF e LDF do banco de dados em C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA.

  • Você atualizou os dois servidores de réplica secundários para SQL Server 2014 das versões anteriores. Com a atualização, esses servidores mantêm o caminho de arquivo original para armazenar arquivos de banco de dados: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA.

  • Antes de mover o banco de dados do site para esse grupo de disponibilidade, em cada servidor de réplica secundário, crie o seguinte caminho de arquivo: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA. Esse caminho é uma duplicata do caminho em uso na réplica primária, mesmo que as réplicas secundárias não usem esse local de arquivo.

  • Em seguida, você concede a conta de serviço SQL Server em cada acesso de controle completo de réplica secundária ao local do arquivo recém-criado nesse servidor.

  • Agora você pode executar com êxito Configuration Manager configuração para configurar o site para usar o banco de dados do site no grupo de disponibilidade.

Failover de várias sub-redes

Você pode habilitar a palavra-chave da cadeia de conexão MultiSubnetFailover no SQL Server. Você também precisa adicionar manualmente os seguintes valores ao Registro do Windows no servidor do site:

HKLM:\SOFTWARE\Microsoft\SMS\Identification
HKLM:\SOFTWARE\Microsoft\SMS\SQL Server

MSF Enabled : 1 (DWORD)

Aviso

O uso de grupos de disponibilidade do servidor de site de alta disponibilidade e SQL Server Always On com failover de várias sub-redes não fornece os recursos completos de failover automático para cenários de recuperação de desastre.

Se você precisar criar um grupo de disponibilidade com um membro em um local remoto, priorize com base na latência de rede mais baixa. A alta latência de rede pode causar falhas de replicação.

Limitações e problemas conhecidos

As limitações a seguir se aplicam a todos os cenários.

Opções e configurações de SQL Server sem suporte

  • Grupos de disponibilidade básicos: introduzidos com SQL Server edição Standard 2016, os grupos básicos de disponibilidade não dão suporte ao acesso de leitura a réplicas secundárias. A configuração requer esse acesso. Para obter mais informações, consulte Grupos básicos de disponibilidade SQL Server.

  • Instância do cluster de failover: não há suporte para instâncias de cluster de failover para uma réplica que você usa com Configuration Manager. Para obter mais informações, consulte SQL Server Always On instâncias de cluster de failover.

SQL Servers que hospedam grupos de disponibilidade adicionais

Quando o SQL Server hospeda um ou mais grupos de disponibilidade além do grupo que você usa para Configuration Manager, ele precisa de configurações específicas no momento em que você executa Configuration Manager configuração. Essas configurações também são necessárias para instalar uma atualização para Configuration Manager. Cada réplica em cada grupo de disponibilidade deve ter as seguintes configurações:

  • Failover manual

  • Permitir qualquer conexão somente leitura

Observação

Configuration Manager dá suporte ao uso das réplicas síncronas do grupo de disponibilidade quando definidas como Failover Automático. Defina Failover Manual quando:

  • Você executa Configuration Manager configuração para especificar o uso do banco de dados do site no grupo de disponibilidade.
  • Você instala qualquer atualização para Configuration Manager. (Não apenas atualizações que se aplicam ao banco de dados do site).

Uso de banco de dados sem suporte

Configuration Manager dá suporte apenas ao banco de dados do site em um grupo de disponibilidade

Os seguintes bancos de dados não têm suporte por Configuration Manager em um grupo de disponibilidade:

  • Banco de dados de relatório

  • Banco de dados WSUS

Banco de dados pré-existente

Você não pode usar um novo banco de dados criado na réplica. Ao configurar um grupo de disponibilidade, restaure uma cópia de um banco de dados Configuration Manager existente para a réplica primária.

Erros de instalação no ConfigMgrSetup.log

Quando você executa Configuration Manager configuração para mover um banco de dados do site para um grupo de disponibilidade, ele tenta processar funções de banco de dados nas réplicas secundárias do grupo de disponibilidade. O arquivo ConfigMgrSetup.log mostra o seguinte erro:

ERROR: SQL Server error: [25000][3906][Microsoft][SQL Server Native Client 11.0][SQL Server]Failed to update database "CM_AAA" because the database is read-only. Configuration Manager Setup 1/21/2016 4:54:59 PM 7344 (0x1CB0)

Esses erros são seguros de ignorar.

Expansão do site

Se você configurar o banco de dados do site para um site primário autônomo para usar um grupo de disponibilidade, não poderá expandir o site para incluir um site de administração central. Se você tentar esse processo, ele falhará. Para expandir o site, remova temporariamente o banco de dados do site primário do grupo de disponibilidade.

Você não precisa fazer nenhuma alteração na configuração ao adicionar um site secundário.

Alterações para backup do site

Arquivos de banco de dados de backup

Quando um banco de dados do site usa um grupo de disponibilidade, execute a tarefa interna de manutenção do servidor do Site de Backup para fazer backup de configurações e arquivos comuns de Configuration Manager. Não use os arquivos MDF ou LDF criados por esse backup. Em vez disso, faça backups diretos desses arquivos de banco de dados usando SQL Server.

Você ainda pode usar o backup SQL Server, no entanto, não é possível restaurá-lo diretamente em um cluster SQL Server Always On. Você precisa restaurá-lo em um servidor autônomo e movê-lo de volta para SQL Server Always On.

Log de transações

Defina o modelo de recuperação do banco de dados do site como Completo. Essa configuração é um requisito para Configuration Manager uso em um grupo de disponibilidade. Planeje monitorar e manter o tamanho do log de transações do banco de dados do site. No modelo de recuperação completo, as transações não são endurecidas até fazer um backup completo do banco de dados ou do log de transações. Para obter mais informações, consulte Fazer backup e restauração de bancos de dados SQL Server.

Alterações para recuperação de site

Se pelo menos um nó do grupo de disponibilidade ainda estiver funcional, use a opção de recuperação de site para Ignorar a recuperação de banco de dados (use essa opção se o banco de dados do site não foi afetado).

A recuperação do site pode recriar o banco de dados em um grupo de disponibilidade. Esse processo funciona com semeadura manual e automática.

Dica

Quando você executa o assistente de instalação/recuperação, a página Novo Banco de Dados de Grupo de Disponibilidade só se aplica a configurações manuais de semente. Com a semeadura automática, não há backup de banco de dados compartilhado, portanto, essa página do assistente não é mostrada.

Para obter mais informações, consulte Backup e recuperação.

Alterações para relatórios

Instalar o ponto de serviço de relatório

O ponto de serviços de relatório não dá suporte ao uso do nome virtual do ouvinte do grupo de disponibilidade. Ele também não dá suporte à hospedagem de seu banco de dados em um grupo de disponibilidade.

  • Por padrão, a instalação de ponto dos serviços de relatório define o nome do servidor de banco de dados site como o nome virtual especificado como o ouvinte. Altere essa configuração para especificar um nome de computador e uma instância de uma réplica no grupo de disponibilidade.

  • Para descarregar relatórios e aumentar a disponibilidade quando um nó de réplica estiver offline, considere instalar pontos adicionais dos serviços de relatórios em cada nó de réplica. Em seguida, configure cada ponto dos serviços de relatório para usar seu próprio nome de computador. Quando você instala um ponto de serviço de relatório em cada réplica do grupo de disponibilidade, o relatório sempre pode se conectar a um servidor de ponto de relatório ativo.

Alternar o ponto de serviços de relatório usado pelo console

  1. No console Configuration Manager, acesse o workspace Monitoramento, expanda Relatórios e selecione o nó Relatórios.

  2. Na faixa de opções, selecione Opções de Relatório.

  3. Na caixa de diálogo Opções de Relatório, selecione o ponto de serviços de relatório que você deseja usar.

Próximas etapas

Este artigo descreve os pré-requisitos, limitações e alterações em tarefas comuns que Configuration Manager requer quando você usa grupos de disponibilidade. Para que os procedimentos configurem e configurem seu site para usar grupos de disponibilidade, consulte Configurar grupos de disponibilidade.