Compartilhar via


Solução de problemas de backup gerenciado do SQL Server no Azure

Este tópico descreve as tarefas e as ferramentas que você pode usar para solucionar erros que podem ocorrer durante o Backup Gerenciado do SQL Server para operações do Microsoft Azure.

Visão geral

O Backup Gerenciado do SQL Server no Microsoft Azure tem verificações internas e solução de problemas, portanto, em muitos casos, as falhas internas são cuidadas pelo próprio processo de Backup Gerenciado do SQL Server no Microsoft Azure.

Exemplo de um desses casos é a exclusão de um arquivo de backup que resulta em uma interrupção da cadeia de logs que afeta a capacidade de recuperação – o Backup Gerenciado do SQL Server no Microsoft Azure identificará a interrupção na cadeia de logs e agendará um backup a ser feito imediatamente. No entanto, recomendamos que você monitore o status e resolva quaisquer erros que exijam intervenção manual.

O Backup Gerenciado do SQL Server no Microsoft Azure registra eventos e erros usando procedimentos armazenados do sistema, exibições do sistema e eventos estendidos. As exibições do sistema e os procedimentos armazenados fornecem informações de configuração do Backup Gerenciado do SQL Server para Microsoft Azure, status dos backups agendados e também os erros capturados por Eventos Estendidos. O Backup Gerenciado do SQL Server no Microsoft Azure usa Eventos Estendidos para capturar os erros a serem usados para solução de problemas. Além de registrar eventos em log, as Políticas de Administrador Inteligente do SQL Server fornecem um status de integridade que é utilizado por um trabalho de notificação por email para informar sobre erros e problemas. Para obter mais informações, consulte Monitorar o Backup Gerenciado do SQL Server no Azure.

O Backup Gerenciado do SQL Server no Microsoft Azure também usa o mesmo log usado ao fazer backup manualmente no armazenamento do Azure (BACKUP do SQL Server para URL). Para obter mais informações sobre problemas relacionados ao Backup para URL, consulte a seção de solução de problemas em Práticas Recomendadas e Solução de Problemas para Backup do SQL Server para URL

Etapas gerais da solução de problemas

  1. Habilite a Notificação por Email para começar a receber emails por erros e avisos.

    Como alternativa, você também pode executar smart_admin.fn_get_health_status periodicamente para verificar os erros e contagens agregados. Por exemplo, number_of_invalid_credential_errors é o número de vezes que o backup inteligente tentou um backup, mas recebeu um erro de credencial inválido. Number_of_backup_loops e number_of_retention_loops não são erros; mas indicam o número de vezes que o thread de backup e o thread de retenção digitalizaram a lista de bancos de dados. Normalmente, quando @begin_time e @end_time não são fornecidas, a função está mostrando as informações dos últimos 30 minutos, então normalmente devemos ver valores não zero para essas duas colunas. Se forem zero, isso implicará que o sistema está sobrecarregado ou até mesmo o sistema não está respondendo. Para obter mais informações, consulte a seção Solução de problemas do sistema mais adiante neste tópico.

  2. Examine os logs de Eventos Estendidos para saber mais detalhes sobre os erros e outros eventos associados.

  3. Use as informações nos logs para resolver o problema. No caso de um problema ou erro do sistema, talvez seja necessário reiniciar o serviço ou o SQL Server Agent.

Causas comuns de erros

Veja a seguir a lista de causas comuns que resultam em falhas:

  1. Alterações na Credencial do SQL: Se o nome da credencial usada pelo Backup Gerenciado do SQL Server para o Microsoft Azure for alterado ou se for excluído, o Backup Gerenciado do SQL Server no Microsoft Azure não poderá fazer backups. A alteração deve ser aplicada ao Backup Gerenciado do SQL Server às configurações do Microsoft Azure.

  2. Alterações nos valores da chave de acesso de armazenamento: Se os valores da chave de armazenamento forem alterados para a conta do Azure, mas a Credencial do SQL não for atualizada com os novos valores, o Backup Gerenciado do SQL Server para o Microsoft Azure falhará ao autenticar no armazenamento e não fará backup dos bancos de dados configurados para usar essa conta.

  3. Alterações na Conta de Armazenamento do Azure: Excluir ou renomear a conta de armazenamento sem alterações correspondentes na Credencial do SQL fará com que o Backup Gerenciado do SQL Server para o Microsoft Azure falhe e nenhum backup será feito. Se você excluir uma conta de armazenamento, verifique se os bancos de dados são reconfigurados com informações válidas da conta de armazenamento. Se uma conta de armazenamento for renomeada ou os valores de chave forem alterados, verifique se essas alterações serão refletidas na Credencial do SQL usada pelo Backup Gerenciado do SQL Server no Microsoft Azure.

  4. Alterações nas propriedades do banco de dados: Alterações em modelos de recuperação ou alteração do nome podem fazer com que os backups falhem.

  5. Alterações no modelo de recuperação: Se o modelo de recuperação do banco de dados for alterado de completo ou registrado em massa para simples, os backups serão interrompidos e os bancos de dados serão ignorados pelo Backup Gerenciado do SQL Server para o Microsoft Azure. Para obter mais informações, consulte o Backup Gerenciado do SQL Server no Azure: Interoperabilidade e coexistência

Mensagens e soluções de erro mais comuns

  1. Erros ao habilitar ou configurar o Backup Gerenciado do SQL Server para o Microsoft Azure:

    Erro: " Falha ao acessar a URL de armazenamento.... Forneça uma credencial sql válida..." : você pode ver esse e outros erros semelhantes referentes às Credenciais do SQL. Nesses casos, examine o nome da Credencial do SQL fornecida e também as informações armazenadas na Credencial do SQL - o nome da conta de armazenamento e a chave de acesso de armazenamento e verifique se elas são atuais e válidas.

    Erro: "... não é possível configurar o banco de dados.... porque é um banco de dados do sistema": você verá esse erro se tentar habilitar o Backup Gerenciado do SQL Server no Microsoft Azure para um banco de dados do sistema. O Backup Gerenciado do SQL Server no Microsoft Azure não dá suporte a backups para bancos de dados do sistema. Para configurar o backup para um banco de dados do sistema, use outras tecnologias de Backup do SQL Server, como planos de manutenção.

    Erro:" ... Forneça um período de retenção...." : você poderá ver erros relacionados ao período de retenção se não tiver especificado um período de retenção para o banco de dados ou instância quando estiver configurando esses valores pela primeira vez. Você também poderá ver um erro se fornecer um valor diferente de um número entre 1 e 30. O valor permitido para o período de retenção é um número entre 1 e 30.

  2. Erros de notificação por email:

    Erro: "O Database Mail não está habilitado..." – Você verá esse erro se habilitar notificações por email, mas o Database Mail não estiver configurado na instância. Você deve configurar o Database Mail na instância para receber uma notificação do status de integridade do Backup Gerenciado do SQL Server no Microsoft Azure. Para obter informações sobre como habilitar o email do banco de dados, consulte Configurar o Database Mail. Você também deve habilitar o SQL Server Agent para usar o Database Mail para notificações. Para obter mais informações, consulte Before You Begin.

    Veja a seguir uma lista de números de erro que você pode ver associados a notificações por email:

    • ErrorNumber: 45209

    • ErrorNumber: 45210

    • ErrorNumber: 45211

  3. Erros de conectividade:

    • Erros relacionados à conectividade do SQL: Esses erros ocorrem quando há problemas de conexão com a instância do SQL Server. Os eventos estendidos expõem esses tipos de erros por meio do canal de administração. A seguir estão os dois eventos estendidos que você pode ver para erros relacionados a esse tipo de problemas de conectividade:

      FileRetentionAdminXEvent com tipo_de_evento = "SqlError". Para obter detalhes desse erro, examine o error_code, error_message e stack_trace desse evento. O error_code é o número de erro do SqlException.

      SmartBackupAdminXevent com as seguintes mensagens/prefixos de mensagem:

      "Ocorreu um erro interno ao configurar o Backup Gerenciado do SQL Server para as configurações padrão do Azure, por exemplo. O erro pode ser transitório."

      "Provavelmente enfrentando problemas de conectividade com o SQL Server. Ignorando o banco de dados na iteração atual."

      Falha ao consultar informações de uso do log. A falha pode ser transitória. Ignorando o banco de dados na iteração atual."

      "Exceção do SQL encontrada ao carregar metadados do agente SSMBackup2WA. A falha pode ser transitória. A operação será repetida."

      "SSMBackup2WA encontrou uma exceção de SQL enquanto... "

    • Erros ao conectar-se à conta de armazenamento:

      As exceções de armazenamento são relatadas em FileRetentionAdminXEvent com event_type = XstoreError. Para obter detalhes do erro, examine o error_message e stack_trace desse evento.

      Como o Backup Gerenciado do SQL Server usa a tecnologia de Backup para URL subjacente, os erros relacionados à conectividade de armazenamento se aplicam aos dois recursos. Para obter mais informações sobre as etapas de solução de problemas, consulte a seção de solução de problemas do artigo Backup do SQL Server para URL: Melhores Práticas e Solução de Problemas.

Solução de problemas do sistema

A seguir estão alguns cenários em que há um problema com o sistema (SQL Server, SQL Server Agent) e seus efeitos no Backup Gerenciado do SQL Server para o Microsoft Azure:

  • Sqlservr.exe para de responder ou para de funcionar quando o Backup Gerenciado do SQL Server para o Microsoft Azure está em execução: Se o SQL Server parar de funcionar, o SQL Agent será desligado normalmente, o Backup Gerenciado do SQL Server no Microsoft Azure também será interrompido e os eventos serão registrados no arquivo SQL Agent.out.

    Se o SQL Server parar de responder, os eventos serão registrados no canal de administração. Um exemplo do log de eventos:

    Erro de SQL (mecanismo não está respondendo ou ocorrência de SqlException: SqlException:
    o código de erro, a mensagem e o stacktrace serão exibidos em um xevent no canal administrativo, juntamente com algumas informações extras, como:
    "Provavelmente enfrentando problemas de conectividade com o SQL Server. Ignorando o banco de dados na iteração atual"

  • O SQL Agent para de responder ou para de funcionar quando o Backup Gerenciado do SQL Server para o Microsoft Azure está em execução:

    Se o SQL Agent parar de funcionar, o Backup Gerenciado do SQL Server no Microsoft Azure também será interrompido e os eventos serão registrados no canal de administração. Isso é semelhante aos cenários em que o SQL Server para de responder.

    Se o SQL Agent parar de responder, o Backup Gerenciado do SQL Server no Microsoft Azure não poderá continuar com as operações de backup e os eventos serão registrados no canal de administração. Um exemplo do log de eventos:

    O processo está travado: consulte o canal de administração xevents
    "Uma atualização de progresso não foi recebida do SQL Server em mais de " + Constants.DBBackupInfoMsgMaxWaitTime + " horas para backup de banco de dados. O Backup de Nuvem do SSM continuará aguardando."

Se você tiver habilitado a notificação por email, receberá uma notificação que inclui Número de Loops de Backup e Número de Loops de Retenção. Se o valor retornado na notificação para uma ou ambas essas duas colunas for zero, pode ser uma indicação de que o sistema não está respondendo.

Aviso

Os processos internos que geram os resultados do relatório pressupõem que os logs de diagnóstico do mecanismo estão no mesmo local do log de erros do SQL Agent, que por padrão está na mesma pasta que os logs de erros da instância do SQL Server. Se os registros de diagnóstico do motor forem movidos para um local diferente do local do log de erros do SQL Agent, o sistema não poderá encontrar os registros de diagnóstico do backup inteligente, e, portanto, o relatório na notificação por email poderá não estar correto. Por exemplo, você pode ver um valor de 0 em todos os campos relatados, incluindo o número de loops de backup e o número de loops de retenção. Nesse caso em que os logs de diagnóstico são movidos para um local diferente, pode não significar que o sistema não está respondendo, mas que o sistema não consegue localizar os logs. Verifique se o local dos logs de diagnóstico e os logs de erros do SQL Agent estão no mesmo local primeiro. Para verificar o local atual dos logs de diagnóstico, você pode usar sys.dm_os_server_diagnostics_log_configurations. A coluna path retorna a localização atual dos registros de diagnóstico do motor. Ele deve estar na mesma pasta que os logs de erros do SQL Agent. Você pode obter o caminho do log de erros do SQL Agent usando o procedimento armazenado dbo.sp_get_sqlagent_properties.

Verifique os logs de eventos estendidos para ver os detalhes dos erros. corrija os erros ou reinicie o SQL Server Agent para corrigir a situação.