# Grupos de Disponibilidade do Microsoft SQL Os grupos de disponibilidade (AGs) são um cluster de alta disponibilidade de servidores MSSQL. Eles funcionam como backup caso o servidor de banco de dados falhe. O servidor de banco de dados armazena anexos, notificações e recursos externos. Se houver falha no servidor de banco de dados, um servidor do cluster Microsoft SQL atuará como servidor de banco de dados para garantir a operação ininterrupta do aplicativo ServiceDesk Plus. ## Configurando os Grupos de Disponibilidade Always On **Pré-requisitos para a configuração de AG** - O usuário a ser configurado no changeDBServer deve ter a permissão **VIEW SERVER STATE**. - O nó secundário deve estar configurado como "Readable/Read-Intent Only". Para ambientes que não estão configurados com os pré-requisitos ou com a configuração básica de AG, [clique aqui](https://www.manageengine.com/mssql-aoag.html#for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration). ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/unknown(2).png) ### 1. Criando o banco de dados no Nó Primário (Ignore esta etapa se não for uma instalação nova) No diretório bin do ServiceDesk Plus, execute o comando `changeDBServer.bat` (`changeDBServer.sh` para Linux). O Assistente de Configuração do Banco de Dados será aberto. Use as orientações abaixo para preencher os detalhes necessários do servidor: - **Tipo de Servidor**: Selecione o tipo de servidor como SQL Server. - **Tipo de Host**: Selecione Padrão como o Tipo de Host. - **Nome do Host**: Insira o Nó Primário onde o banco de dados deve ser criado. - **Porta**: Especifique o número da porta do SQL Server. O número da porta padrão é 1433. - **Instâncias Disponíveis do SQL Server**: O nome do servidor primário será preenchido automaticamente. Caso contrário, selecione o servidor primário na lista suspensa. - **Banco de Dados**: Por padrão, o nome do banco de dados é definido como servicedesk. Edite, se necessário. - **Nome de Usuário e Senha**: Especifique as credenciais de login do servidor. - **Senha da Chave Mestra**: Insira a senha da chave mestra para criptografar as colunas SCHAR no banco de dados. Isso é necessário somente durante a criação do banco de dados. Usuários com permissão DBCreator / DBOwner podem criar uma chave mestra. Para saber mais, [clique aqui](https://www.manageengine.com/br/service-desk/help/adminguide/ear-faqs.html). Para verificar a disponibilidade da conexão: - Clique em **Test**. Se for bem-sucedido, uma janela pop-up exibirá uma mensagem de conexão estabelecida. - Clique em **OK** para prosseguir. - Clique em **Save** para salvar as configurações do servidor SQL. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/Server_Type.png) ### 2. Replicando o banco de dados (Ignore esta etapa se o banco de dados já estiver replicado) - Após criar o banco de dados, inicie e interrompa o aplicativo ServiceDesk Plus. - Replique o banco de dados no SQL Server navegando até **Always On High Availability** > **Availability Groups** > **Group** > **Availability Databases** > **Add Database**. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/Connect_-_f_x.png) Ao configurar o AG no *assistente do SQL Server Management Studio*, na página **Selecionar Sincronização Inicial de Dados**, escolha **Backup completo do banco de dados e do log**. Isso armazenará a senha da chave mestra do banco de dados nas credenciais de ambos os nós. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/unknown(3).png) ### 3. Configurando o AG usando o changeDBServer No diretório bin do ServiceDesk, execute o comando `changeDBServer.bat` (`changeDBServer.sh` para Linux). O Assistente de Configuração do Banco de Dados será aberto. Use as orientações abaixo para preencher os detalhes necessários do servidor: - **Tipo de Servidor**: Selecione SQL Server. - **Tipo de Host**: Selecione AG como o Tipo de Host. - **Nome do Host**: Insira o endereço IP/nome do Virtual Listener. - **Porta**: Especifique o número da porta do SQL Server. O número da porta padrão é 1433. - **Banco de Dados**: Por padrão, o nome do banco de dados é definido como servicedesk. Edite, se necessário. - **Nome de Usuário e Senha**: Especifique as credenciais de login do servidor. - **Senha da Chave Mestra**: Insira a senha da chave mestra configurada durante a criação do banco de dados. Para verificar a disponibilidade da conexão: - Clique em **Test**. Se for bem-sucedido, uma janela pop-up exibirá a mensagem de conexão estabelecida. - Clique em **OK** para prosseguir. - Clique em **Save** para salvar as configurações do servidor SQL. ### Validação de AG Ao salvar a configuração de AG, a verificação de AG é realizada. Se forem detectados problemas durante a verificação, códigos de erro predefinidos serão exibidos. ### Detalhes dos códigos de erro | Código de Erro | Descrição | Ação recomendada | |---|---|---| | [AG2000*](https://www.manageengine.com/mssql-aoag.html#for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration) | O usuário configurado não tem a permissão **VIEW SERVER STATE**. | Conceda a permissão VIEW SERVER STATE ao usuário configurado. | | [AG2001*](https://www.manageengine.com/mssql-aoag.html#for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration) | O nó secundário não é legível. | Defina o nó secundário como readable/Read-Indent Only. | | [AG2002*](https://www.manageengine.com/mssql-aoag.html#for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration) | Os nós individuais estão inacessíveis ou a porta não corresponde à porta do listener. | Verifique se a porta do SQL Server em cada nó individual está bloqueada pela configuração do firewall. Verifique se o serviço SQL Server Browser está em execução em todos os nós individuais. | | AG1000 | Um nó físico está configurado em vez de um virtual listener. | Configure o virtual listener no campo Nome do Host. | | AG1001 | O banco de dados de destino não está replicado nos nós. | Siga as etapas de replicação mencionadas na etapa 2 para replicar o banco de dados entre os nós. | | AG1002 | A chave mestra do banco de dados está ausente no banco de dados de um nó. | Se esses erros aparecerem no Health Meter na configuração de AG, execute verifyAG.bat/verifyAG.sh e compartilhe a saída com o suporte do ServiceDesk Plus. Se esses erros aparecerem na configuração do changeDBServer, compartilhe a pasta logs e a mensagem de erro com o suporte do ServiceDesk Plus. | | AG1003 | O certificado está ausente no banco de dados de um nó. | Se esses erros aparecerem no Health Meter na configuração de AG, execute verifyAG.bat/verifyAG.sh e compartilhe a saída com o suporte do ServiceDesk Plus. Se esses erros aparecerem na configuração do changeDBServer, compartilhe a pasta logs e a mensagem de erro com o suporte do ServiceDesk Plus. | | AG1004 | A chave simétrica está ausente no banco de dados de um nó. | Se esses erros aparecerem no Health Meter na configuração de AG, execute verifyAG.bat/verifyAG.sh e compartilhe a saída com o suporte do ServiceDesk Plus. Se esses erros aparecerem na configuração do changeDBServer, compartilhe a pasta logs e a mensagem de erro com o suporte do ServiceDesk Plus. | | AG1008 | A entrada do repositório de credenciais está ausente no nó (isso geralmente acontece quando **AutoSeeding** é escolhido ao replicar o banco de dados.) | Execute o comando abaixo a partir do diretório `\bin`: **Windows:** `verifyAG.bat true` **Linux:** `verifyAG.sh true` | Para mais informações sobre configurações de AG, [clique aqui](https://social.technet.microsoft.com/wiki/contents/articles/36143.sql-server-2016-step-by-step-creating-alwayson-availability-group.aspx). [*] Para ambientes que não estão configurados com os pré-requisitos ou com a configuração básica de AG: Siga o procedimento abaixo para validação manual de AG para verificar se a opção AutoSeeding foi selecionada ao replicar o banco de dados. - Execute a seguinte consulta em cada nó individual: ```sql select sc.credential_id from sys.credentials sc inner join sys.master_key_passwords sm on sm.credential_id= sc.credential_id left join msdb.dbo.backupset md on md.family_guid = sm.family_guid where md.database_name = ''; ``` - Se a consulta não retornar nenhum valor, execute a seguinte consulta no respectivo nó: ```sql EXEC sp_control_dbmasterkey_password @db_name = N'' , @password = N'' , @action = N'add' ; ``` Substitua os valores de `` e `` adequadamente antes de executar a consulta.