Solucionar problemas de banco de dados do Amazon RDS Custom para SQL Server
O modelo de responsabilidade compartilhada do RDS Custom fornece acesso ao nível de shell do SO e acesso pelo administrador do banco de dados. O RDS Custom executa recursos na sua conta, ao contrário do Amazon RDS, que executa recursos em uma conta do sistema. A extensão do acesso aumenta a responsabilidade. Nas seções a seguir, você vai aprender a solucionar problemas em instâncias de banco de dados do Amazon RDS Custom para SQL Server.
nota
Esta seção explica como solucionar problemas do RDS Custom para SQL Server. Para solucionar problemas do RDS Custom para Oracle, consulte Solucionar problemas de banco de dados do Amazon RDS Custom para Oracle.
Tópicos
- Visualizar eventos personalizados do RDS Custom
- Assinar eventos do RDS Custom
- Solucionar erros de CEV para o RDS Custom para SQL Server
- Corrigir configurações não compatíveis no RDS Custom para SQL Server
- Solucionar problemas de Storage-Full no RDS Custom para SQL Server
- Solucionar problemas do estado PENDING_RECOVERY para bancos de dados habilitados para TDE no RDS Custom para SQL Server
Visualizar eventos personalizados do RDS Custom
O procedimento para visualizar eventos é o mesmo para instâncias de banco de dados do RDS Custom e do Amazon RDS. Para ter mais informações, consulte Visualizar eventos do Amazon RDS.
Para visualizar a notificação de eventos do RDS Custom utilizando a AWS CLI, execute o comando describe-events
. O RDS Custom introduz vários novos eventos. As categorias dos eventos são as mesmas que as do Amazon RDS. Para visualizar a lista de eventos, consulte Categorias de eventos e mensagens de eventos do Amazon RDS.
O exemplo a seguir recupera detalhes dos eventos que ocorreram para a instância de banco de dados do RDS Custom especificada.
aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance
Assinar eventos do RDS Custom
O procedimento para assinar eventos é o mesmo para instâncias de banco de dados do RDS Custom e do Amazon RDS. Para ter mais informações, consulte Inscrever-se em notificações de eventos do Amazon RDS.
Para assinar a notificação de eventos do RDS Custom usando a CLI, execute o comando create-event-subscription
. Inclua os seguintes parâmetros necessários:
-
--subscription-name
-
--sns-topic-arn
O exemplo a seguir cria uma assinatura para eventos de backup e recuperação para uma instância de banco de dados do RDS Custom na conta atual da AWS. As notificações são enviadas para um tópico do Amazon Simple Notification Service (Amazon SNS), especificado por --sns-topic-arn
.
aws rds create-event-subscription \ --subscription-name my-instance-events \ --source-type db-instance \ --event-categories '["backup","recovery"]' \ --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events
Solucionar erros de CEV para o RDS Custom para SQL Server
Ao tentar criar uma CEV, ela pode falhar. Nesse caso, o RDS Custom emite a mensagem de evento RDS-EVENT-0198
. Para ter mais informações sobre a visualização de eventos do RDS, consulte Categorias de eventos e mensagens de eventos do Amazon RDS.
Use as informações a seguir para ajudar você a resolver as possíveis causas.
Message | Sugestões de solução de problemas |
---|---|
|
Execute o Sysprep na instância do EC2 que você criou a partir da AMI. Para ter mais informações sobre como preparar uma AMI utilizando o Sysprep, consulte Criar uma imagem de máquina da Amazon (AMI) padronizada usando o Sysprep. |
|
Verifique se sua conta e perfil usados para criação têm as permissões necessárias na |
|
Verifique se o arquivo |
|
A AMI deve existir na mesma conta de cliente. |
|
O nome da AMI está incorreto. O ID do AMI correto deve ser fornecido. |
|
Selecione uma AMI compatível que tenha o Windows Server com a edição SQL Server Enterprise, Standard ou Web. Selecione uma AMI com um dos seguintes códigos de operação de uso do EC2 Marketplace:
|
|
Use uma AMI que contenha uma edição compatível do SQL Server. Para ter mais informações, consulte Versões compatíveis com CEVs do RDS Custom para SQL Server. |
|
Não há suporte para as versões do mecanismo Classic RDS Custom para SQL Server. Por exemplo, versão 15.00.4073.23.v1. Use um número de versão compatível. |
|
A CEV deve estar em um estado |
|
A CEV de destino não é válida. Verifique os requisitos para um caminho de atualização válido. |
|
Siga a convenção de nomenclatura da CEV necessária. Para ter mais informações, consulte Requisitos para CEVs do RDS Custom para SQL Server. |
|
Foi fornecida uma versão do mecanismo de banco de dados não compatível. Use uma versão de mecanismo de banco de dados compatível. |
|
Use uma AMI baseada na arquitetura x86_64. |
|
Crie a instância do EC2 a partir da AMI para a qual você tem permissão. Execute o Sysprep na instância do EC2 para criar e salvar uma imagem base. |
|
Use uma AMI criada com a plataforma Windows. |
|
Crie a AMI com o tipo de dispositivo EBS. |
|
Selecione uma AMI compatível que tenha o Windows Server com a edição SQL Server Enterprise, Standard ou Web. Selecione uma AMI com um dos seguintes códigos de operação de uso do EC2 Marketplace:
|
|
A AMI deve estar em um estado de |
|
Use um sistema operacional Windows compatível. |
|
Verifique se o arquivo de log está disponível em |
|
Use uma AMI com uma versão mínima de compilação do sistema operacional de 14393. |
|
Use uma AMI com uma versão principal mínima do sistema operacional 10.0 ou superior. |
Corrigir configurações não compatíveis no RDS Custom para SQL Server
Devido ao modelo de responsabilidade compartilhada, é sua responsabilidade corrigir problemas de configuração que colocam a instância de banco de dados do RDS Custom para SQL Server no estado unsupported-configuration
. Se o problema for com a infraestrutura da AWS, será possível utilizar o console ou a AWS CLI para corrigi-lo. Se o problema for com o sistema operacional ou a configuração do banco de dados, será possível fazer login no host para corrigi-lo.
nota
Esta seção explica como corrigir configurações não compatíveis no RDS Custom para SQL Server. Para ter informações sobre o RDS Custom para Oracle, consulte Corrigir configurações não compatíveis no RDS Custom para Oracle.
A tabela a seguir apresenta a descrição de notificações e eventos que o perímetro de suporte envia e como corrigi-los. Essas notificações e o perímetro de suporte estão sujeitos a alterações. Para obter informações básicas sobre o perímetro de suporte, consultePerímetro de suporte do RDS Custom. Para obter informações sobre descrições de eventos, consulte Categorias de eventos e mensagens de eventos do Amazon RDS.
Código do evento | Área de configuração | Mensagem de evento do RDS | Processo de validação |
---|---|---|---|
|
Configuração manual incompatível |
|
Para resolver esse problema, crie um caso de suporte. |
Recurso da AWS (infraestrutura) | |||
|
Estado da instância do EC2 |
|
Para conferir o status de uma instância de banco de dados, use o console ou execute o seguinte comando AWS CLI:
|
|
Estado da instância do EC2 |
|
Use o seguinte comando AWS CLI para conferir o status de uma instância de banco de dados:
Também é possível conferir o status da instância do EC2 usando o console do EC2. Para iniciar uma instância de banco de dados, use o console ou execute o seguinte comando AWS CLI:
|
|
Classe de instância do EC2 |
|
Use o seguinte comando da CLI para conferir a classe de instância de banco de dados esperada:
|
|
Volume de armazenamento do EBS não acessível |
|
|
|
Volume de armazenamento do EBS separado |
|
Depois de reconectar o volume do EBS, use os seguintes comandos da CLI para conferir se o volume “volume-id” do EBS está conectado corretamente à instância do RDS:
|
|
Tamanho do volume de armazenamento do EBS |
|
Use o seguinte comando da CLI para comparar o tamanho do volume dos detalhes do “volume-id” do volume do EBS e os detalhes da instância do RDS:
Use o seguinte comando da CLI para ver o tamanho real do volume alocado:
|
|
Configuração do volume de armazenamento do EBS |
|
Use o comando da CLI a seguir para comparar o tipo de volume dos detalhes do “volume-id” do volume do EBS e os detalhes da instância do RDS. Garanta que os valores no nível do EBS correspondam aos valores no nível do RDS:
Para saber o valor esperado do throughput de armazenamento no nível do RDS:
Para saber o valor esperado de IOPS de volume no nível do RDS:
Para saber o tipo de armazenamento atual no nível do EC2:
Para saber o valor atual do throughput de armazenamento no nível do EC2:
Para saber o valor esperado de IOPS de volume no nível do EC2:
|
|
Configuração e tamanho do volume de armazenamento do EBS |
|
Use o comando da CLI a seguir para comparar o tipo de volume dos detalhes do “volume-id” do volume do EBS e os detalhes da instância do RDS. Garanta que os valores no nível do EBS correspondam aos valores no nível do RDS:
Para saber o valor esperado do throughput de armazenamento no nível do RDS:
Para saber o valor esperado de IOPS de volume no nível do RDS:
Para saber o tipo de armazenamento atual no nível do EC2:
Para saber o valor atual do throughput de armazenamento no nível do EC2:
Para saber o valor esperado de IOPS de volume no nível do EC2:
Para saber o tamanho esperado do volume alocado:
Para saber o tamanho real do volume alocado:
|
|
Permissões do SQS |
|
|
|
Endpoint da VPC do SQS |
|
|
Sistema operacional | |||
|
Status do serviço SQL |
|
|
|
Status do Agente do RDS Custom |
|
|
|
Permissões do SQS |
|
|
|
Endpoint da VPC do SQS |
|
|
Sistema operacional | |||
|
Status do serviço SQL |
|
|
|
Status do Agente do RDS Custom |
|
Faça login no host e certifique-se de que o agente do RDS Custom esteja em execução. É possível utilizar os comandos a seguir para visualizar o status do agente.
Se o status não for
Se o agente não for iniciado, confira os eventos do Windows para ver por que ele não pode ser iniciado. O agente exige que um usuário do Windows inicie o serviço. Verifique se existe um usuário do Windows e ele tem privilégios para executar o serviço. |
|
Status do Agente do SSM |
|
Para ter mais informações, consulte Solucionar problemas com o SSM Agent. Para solucionar problemas de endpoints do SSM, consulte Unable to connect to SSM endpoints e Use ssm-cli to troubleshoot managed node availability. |
|
Login do Agente do RDS Custom |
|
|
|
Fuso horário |
|
Execute o comando Para ter mais informações, consulte Fuso horário local para instâncias de banco de dados do RDS Custom para SQL Server. |
|
Versão da solução de software de alta disponibilidade |
|
|
|
Configuração da solução de software de alta disponibilidade |
|
|
Database | |||
|
Protocolo de memória compartilhada do SQL Server |
|
É possível validar isso conferindo: SQL Server Configuration Manager > Configuração de rede do SQL Server > Protocolos para MSSQLSERVER> Memória compartilhada como Habilitado. Depois de habilitar o protocolo, reinicie o processo do SQL Server. |
|
Chave mestra de serviço |
|
|
|
Chave mestra de serviço |
|
|
|
Versão e edição de mecanismos de banco de dados |
|
Execute a seguinte consulta para saber a versão do SQL:
Execute o seguinte comando da AWS CLI para saber a versão do mecanismo SQL no RDS:
Para ter mais informações, consulte Modificar uma instância de banco de dados do RDS Custom for SQL Server e Atualizar a versão de mecanismo de uma instância de banco de dados. |
|
Edição do mecanismo de banco de dados |
|
Execute a seguinte consulta para saber a edição do SQL:
Execute o seguinte comando AWS CLI para saber a edição do mecanismo SQL do RDS:
|
|
Versão do mecanismo de banco de dados |
|
Execute a seguinte consulta para saber a versão do SQL:
Execute o seguinte comando AWS CLI para saber a versão do mecanismo SQL do RDS:
Para ter mais informações, consulte Modificar uma instância de banco de dados do RDS Custom for SQL Server e Atualizar a versão de mecanismo de uma instância de banco de dados. |
|
Local dos arquivos de banco de dados |
|
Execute a consulta a seguir para listar a localização dos arquivos do banco de dados que não estão no caminho padrão:
|
Solucionar problemas de Storage-Full
no RDS Custom para SQL Server
O RDS Custom monitora o espaço disponível nos volumes raiz (C:) e de dados (D:) de uma instância de banco de dados do RDS Custom para SQL Server. O RDS Custom move o estado da instância para o status Storage-Full
quando um dos volumes tem menos de 500 MiB de espaço em disco disponível. Para escalar o armazenamento da instância, consulte Modificar o armazenamento para uma instância de banco de dados do RDS Custom para SQL Server.
nota
As instâncias em Storage-Full
podem levar até 30 minutos para serem resolvidas após o ajuste de escala do armazenamento.
Solucionar problemas do estado PENDING_RECOVERY para bancos de dados habilitados para TDE no RDS Custom para SQL Server
Os bancos de dados do SQL Server com criptografia de dados transparente (TDE) ativada poderão permanecer no estado PENDING_RECOVERY
se a descriptografia automática apresentar problemas. Isso normalmente ocorre após a restauração de uma instância de banco de dados, se o arquivo de backup do Service Master Key (SMK) da instância de banco de dados de origem armazenado no bucket do S3 gerenciado pelo RDS Custom em sua conta tiver sido excluído antes da conclusão da restauração.
Para ativar a descriptografia automática e os bancos de dados habilitados para TDE, você precisa abrir a Database Master Key (DMK) com a senha e criptografar a DMK usando o SMK.
Use os seguintes comandos do SQL Server como referência:
-- Identify PENDING_RECOVERY TDE databases USE MASTER; GO SELECT name, is_encrypted, state_desc FROM sys.databases; GO -- Open DMK using password OPEN MASTER KEY DECRYPTION BY PASSWORD = '<password>'; GO -- Encrypt DMK using SMK ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY; GO -- Close SMK CLOSE MASTER KEY; GO -- Bring the TDE databases online ALTER DATABASE <database_name> SET ONLINE; GO -- Verify TDE databases are now in ONLINE state SELECT name, is_encrypted, state_desc FROM sys.databases; GO