Prepare-se para usar um grupo de SQL Server Sempre Na disponibilidade com o Gestor de Configuração

Aplica-se a: Configuration Manager (ramo atual)

Utilize este artigo para preparar o Gestor de Configuração para utilizar um grupo de disponibilidade SQL Server Always On para a base de dados do site. Esta funcionalidade fornece uma solução de alta disponibilidade e recuperação de desastres.

O Gestor de Configuração suporta a utilização de grupos de disponibilidade:

  • Nos locais primários e no local da administração central.
  • No local, ou em Microsoft Azure.

Quando utilizar grupos de disponibilidade em Microsoft Azure, pode aumentar ainda mais a disponibilidade da base de dados do seu site utilizando conjuntos de disponibilidades Azure. Para obter mais informações sobre os conjuntos de disponibilidade do Azure, consulte Gerir a disponibilidade de máquinas virtuais.

Importante

Antes de continuar, sinta-se confortável com a configuração de SQL Server e grupos de disponibilidade. Este artigo refere-se à biblioteca de documentação SQL Server com mais informações e procedimentos.

Cenários suportados

Os seguintes cenários são suportados para a utilização de grupos de disponibilidade com o Gestor de Configuração. Para obter mais informações e procedimentos para cada cenário, consulte os grupos de disponibilidade de configuração para o Gestor de Configuração.

Pré-requisitos

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

Contas e permissões do Gestor de Configuração

Conta de instalação

A conta que utiliza para executar a configuração do Gestor de Configuração deve ser:

  • Um membro do grupo de administradores locais em cada computador que é membro do grupo de disponibilidade.
  • Uma sysadmin em cada instância de SQL Server que acolhe a base de dados do site.

Servidor do site para replicar acesso de membro

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

SQL Server

Versão

Cada réplica do grupo de disponibilidade deve executar uma versão de SQL Server suportada pela sua versão do Gestor de Configuração. Quando suportados 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 as versões SQL Server suportadas para o Gestor de Configuração.

Edição

Use uma edição da Enterprise de SQL Server.

Conta

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

Base de Dados

Configurar a base de dados de uma nova réplica

Só faça estas configurações numa réplica primária. Para configurar uma réplica secundária, primeiro falhar sobre o primário para o secundário. Esta ação faz do secundário a nova réplica primária.

Configure a base de dados de cada réplica com as seguintes definições:

  • Permitir a integração clr:

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

    Para mais informações, consulte a integração do CLR.

  • Definir o tamanho do rel de texto Max 2147483647 para:

    EXECUTE sp_configure 'max text repl size (B)', 2147483647
    
  • Desista o proprietário da base de dados na conta SA. Não precisa de ativar esta conta.

  • Ligue a definição DE CONFIANÇA:

    ALTER DATABASE [CM_xxx] SET TRUSTWORTHY ON;
    

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

  • Ativar o Corretor de Serviços:

    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER
    

    Nota

    Não é possível ativar a opção De Corretor de Serviços numa base de dados que já faz parte de um grupo de disponibilidade. Tem de ativar essa opção antes de a adicionar ao grupo de disponibilidade.

  • Configure a prioridade do Corretor de Serviços:

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

Script de verificação de bases de dados

Execute o seguinte SQL script para verificar as configurações da base de dados para réplicas primárias e secundárias. Antes de corrigir um problema numa réplica secundária, altere a 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 de grupo de disponibilidade

Membros réplicas

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

  • Utilize o mesmo número e tipo de réplicas num grupo de disponibilidade que a sua versão de SQL Server suporta.

  • Pode usar uma réplica assíncronea para recuperar a sua réplica sincronizada. Para obter mais informações, consulte as opções de recuperação da base de dados do site.

    Aviso

    O Gestor de Configuração não suporta falhas na utilização da réplica assíncronea do compromisso como base de dados do seu site. Para obter mais informações, consulte os modos Failover e failover (Always On availability groups).

O Gestor de Configuração não valida o estado da réplica assíncronea para confirmar a sua corrente. A utilização de uma réplica assíncronea compromete-se, uma vez que a base de dados do site pode colocar em risco a integridade do seu site e os dados. Esta réplica pode estar dessincronizada por design. Para mais informações, consulte a visão geral dos grupos SQL Server Always On availability.

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

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

    Nota

    Não tenho uma partilha de ficheiros no servidor que seja o mesmo nome do nome SQL Server instância.

  • As ligações na definição de função primária são Permitir todas as ligações.

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

  • Habilitado para Falha Manual

    Nota

    O Gestor de Configuração suporta a utilização das réplicas sincronizadas do grupo de disponibilidade quando definidas para Falha Automática. Definir Falha manual quando:

    • Executou a configuração do Gestor de Configuração para especificar a utilização da base de dados do site no grupo de disponibilidade.
    • Instale qualquer atualização no Gestor de Configuração. (Não apenas atualizações que se aplicam à base de dados do site).
  • Todos os membros precisam do mesmo modo de sementeira. A configuração do Gestor de Configuração inclui uma verificação pré-requisito para verificar esta configuração ao criar uma base de dados através da instalação ou recuperação.

    Nota

    Quando a configuração cria a base de dados e configura a sementeira automática, o grupo de disponibilidade deve ter permissões para criar a base de dados. Este requisito aplica-se tanto a uma nova base de dados como a uma recuperação. Para obter mais informações, consulte sementeira automática para a réplica secundária.

Localização do membro da réplica

Ou hospeda todas as réplicas num grupo de disponibilidade no local, ou hospeda-as todas em Microsoft Azure. Um grupo que inclui um membro no local e um membro em Azure não é apoiado.

Nota

Se estiver a utilizar uma máquina virtual Azure para o SQL Server, ative o IP flutuante. Para obter mais informações, consulte configurar um equilibrador de carga para um grupo de SQL Server Always On disponível em máquinas virtuais Azure.

A configuração do Gestor de Configuração tem de se ligar a cada réplica. Quando configurar um grupo de disponibilidade em Azure, e o grupo estiver por trás de um equilibrador de carga interno ou externo, abra as seguintes portas predefinidas:

  • Mapper de ponto final RPC: TCP 135

  • SQL Server Corretor de Serviços: TCP 4022

  • SQL sobre A TCP: TCP 1433

Após a configuração concluída, estas portas devem permanecer abertas para o Gestor de Configuração e para o analisador de ligações de replicação.

Pode utilizar portas personalizadas para estas configurações. Utilize as mesmas portas personalizadas pelo ponto final e em todas as réplicas do grupo de disponibilidade.

Para SQL Server replicar dados entre sites, crie uma regra de equilíbrio de carga para cada porta do balançador de carga Azure. Para obter mais informações, consulte as portas de alta disponibilidade para obter um equilibrador de carga interno.

Serviço de Escuta

O grupo de disponibilidade tem de ter, pelo menos, um serviço de escuta do grupo de disponibilidade. Quando configura o Gestor de Configuração para utilizar a base de dados do site no grupo de disponibilidade, utiliza o nome virtual deste ouvinte. Embora um grupo de disponibilidade possa conter vários ouvintes, o Gestor de Configuração 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 executar a configuração do Gestor de Configuração para configurar um site para utilizar a base de dados num grupo de disponibilidade, cada servidor de réplica secundária deve ter um SQL Server caminho de ficheiro idêntico ao caminho do ficheiro para os ficheiros da base de dados do site na réplica primária atual. Se não existir um caminho idêntico, a configuração não adiciona a instância para o grupo de disponibilidade como a nova localização da base de dados do site.

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

Os servidores de réplicas secundárias apenas requerem este caminho de ficheiro enquanto estiver a utilizar a configuração do Gestor de Configuração para especificar a instância da base de dados no grupo de disponibilidade. Depois de completar a configuração da base de dados do site no grupo de disponibilidade, pode eliminar o caminho não reutilizado a partir de réplicas secundárias.

Por exemplo, considere os seguintes cenários:

  • Cria um grupo de disponibilidade que utiliza três SQL Servidores.

  • O servidor de réplica primária é uma nova instalação do SQL Server 2014. Por predefinição, armazena os ficheiros MDF e LDF da base de dados em C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA .

  • Atualizou ambos os seus servidores de réplicas secundárias para SQL Server 2014 a partir de versões anteriores. Com a atualização, estes servidores mantêm o caminho original do ficheiro para armazenar ficheiros de base de dados: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA .

  • Antes de mover a base de dados do site para este grupo de disponibilidade, em cada servidor de réplica secundária, crie o seguinte caminho de ficheiro: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA . Este caminho é uma duplicação do caminho em uso na réplica primária, mesmo que as réplicas secundárias não utilizem esta localização do ficheiro.

  • Em seguida, concede à conta de serviço SQL Server em cada réplica secundária acesso total ao local de ficheiro recém-criado nesse servidor.

  • Agora pode executar com sucesso a configuração do Gestor de Configuração para configurar o site para utilizar a base de dados do site no grupo de disponibilidade.

Falha de multi-sub-rede

Pode ativar a palavra-chave da ligação MultiSubnetFailover SQL Server. Também precisa de adicionar manualmente os seguintes valores ao Registo Windows no servidor do site:

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

MSF Enabled : 1 (DWORD)

Aviso

A utilização de grupos de alta disponibilidade do servidor do site e SQL Server Sempre Na disponibilidade de grupos com falha de falha multi-sub-rede não fornece todas as capacidades de falha automática para cenários de recuperação de desastres.

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

Problemas e limitações conhecidos

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

Opções e configurações de SQL Server não suportadas

  • Grupos básicos de disponibilidade: Introduzidos com SQL Server edição standard de 2016, os grupos básicos de disponibilidade não suportam o acesso de leitura a réplicas secundárias. A configuração requer este acesso. Para obter mais informações, consulte os grupos básicos de disponibilidade SQL Server.

  • Exemplo de cluster de falha: As instâncias de cluster failover não são suportadas para uma réplica que utiliza com o Gestor de Configuração. Para obter mais informações, consulte SQL Server Sempre Sobre casos de cluster de failover.

SQL Servidores que acolhem grupos de disponibilidade adicionais

Quando o SQL Server acolhe um ou mais grupos de disponibilidade para além do grupo que utiliza para o Gestor de Configuração, necessita de definições específicas no momento em que executar a configuração do Gestor de Configuração. Estas definições também são necessárias para instalar uma atualização para o Gestor de Configuração. Cada réplica em cada grupo de disponibilidade deve ter as seguintes configurações:

  • Ativação pós-falha manual

  • Permitir qualquer ligação apenas de leitura

Nota

O Gestor de Configuração suporta a utilização das réplicas sincronizadas do grupo de disponibilidade quando definidas para Falha Automática. Definir Falha manual quando:

  • Executou a configuração do Gestor de Configuração para especificar a utilização da base de dados do site no grupo de disponibilidade.
  • Instale qualquer atualização no Gestor de Configuração. (Não apenas atualizações que se aplicam à base de dados do site).

Utilização de base de dados não suportada

O Gestor de Configuração suporta apenas a base de dados do site num grupo de disponibilidade

As seguintes bases de dados não são suportadas pelo Gestor de Configuração num grupo de disponibilidade:

  • Base de dados de relatórios

  • Base de dados do WSUS

Base de dados pré-existente

Não podes usar uma nova base de dados criada na réplica. Ao configurar um grupo de disponibilidade, restaure uma cópia de uma base de dados do Gestor de Configuração existente para a réplica primária.

Erros de configuração no ConfigMgrSetup.log

Quando executa a configuração do Gestor de Configuração para mover uma base de dados do site para um grupo de disponibilidade, tenta processar as funções de base de dados nas réplicas secundárias do grupo de disponibilidade. O ficheiro 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)

Estes erros são seguros de ignorar.

Expansão do site

Se configurar a base de dados do site para um site primário autónomo para usar um grupo de disponibilidade, não pode expandir o site para incluir um site de administração central. Se tentares este processo, falha. Para expandir o site, remova temporariamente a base de dados do site primário do grupo de disponibilidade.

Não precisa de fazer alterações na configuração ao adicionar um site secundário.

Alterações para backup do site

Ficheiros de base de dados de backup

Quando uma base de dados do site utiliza um grupo de disponibilidade, execute a tarefa de manutenção do servidor do Site de Backup incorporada para fazer cópias de configuração comuns do Gestor de Configurações e ficheiros. Não utilize os ficheiros MDF ou LDF criados por essa cópia de segurança. Em vez disso, faça cópias de segurança diretas destes ficheiros de base de dados utilizando SQL Server.

Registo de transações

Desa esta adquir o modelo de recuperação da base de dados do site para o Full. Esta configuração é um requisito para a utilização do Gestor de Configuração num grupo de disponibilidade. Planeie monitorizar e manter o tamanho do registo de transações da base de dados do site. No modelo de recuperação total, as transações não são endurecidas até que faça uma cópia de segurança completa da base de dados ou registo de transações. Para mais informações, consulte Back up e restaurar SQL Server bases de dados.

Alterações para a recuperação do site

Se pelo menos um nó do grupo de disponibilidade ainda estiver funcional, utilize a opção de recuperação do site para saltar a recuperação da base de dados (Utilize esta opção se a base de dados do site não tiver sido afetada).

A recuperação do site pode recriar a base de dados num grupo de disponibilidade. Este processo funciona com sementeira manual e automática.

Dica

Quando executou o assistente de configuração/recuperação, a página New Availability Group Database aplica-se apenas às configurações de sementeira manual. Com a sementeira automática, não há cópia de segurança partilhada da base de dados, por isso a página do assistente não é mostrada.

Para obter mais informações, consulte cópia de segurança e recuperação.

Alterações ao reporte

Instale o ponto de serviço de reporte

O ponto de serviços de reporte não suporta o uso do nome virtual do ouvinte do grupo de disponibilidade. Também não suporta hospedar a sua base de dados num grupo de disponibilidade.

  • Por predefinição, a instalação de pontos de reporte define o nome do servidor do servidor da base de dados do Site para o nome virtual especificado como ouvinte. Altere esta definiçã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 de serviços de reporte adicionais em cada nó de réplica. Em seguida, configurar cada serviço de reporte apontar para usar o seu próprio nome de computador. Quando instala um ponto de serviço de reporte em cada réplica do grupo de disponibilidade, o relatório pode sempre ligar-se a um servidor de ponto de relato ativo.

Altere o ponto de serviços de reporte utilizado pela consola

  1. Na consola 'Gestor de Configuração', vá ao espaço de trabalho de monitorização, expanda o Relatório e selecione o nó Relatórios.

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

  3. Na caixa de diálogo 'Opções de Relatório', selecione o ponto de serviços de reporte que pretende utilizar.

Passos seguintes

Este artigo descreve os pré-requisitos, limitações e alterações às tarefas comuns que o Gestor de Configuração exige quando utiliza grupos de disponibilidade. Para obter procedimentos para configurar e configurar o seu site para utilizar grupos de disponibilidade, consulte grupos de disponibilidade de configuração.