Partilhar via


Solucionar problemas de backup gerenciado do SQL Server para Azure

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

Visão geral

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

O exemplo de um desses casos é a exclusão de um arquivo de backup, resultando em uma interrupção da cadeia de logs que afeta a capacidade de recuperação– SQL Server Backup Gerenciado 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 aborde todos os erros que requerem intervenção manual.

SQL Server Backup Gerenciado 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 SQL Server informações de configuração do Backup Gerenciado para o Microsoft Azure, status de backups agendados e também os erros capturados por Eventos Estendidos. SQL Server Backup Gerenciado no Microsoft Azure usa Eventos Estendidos para capturar os erros a serem usados para solução de problemas. Além de registrar eventos, as Políticas de Administrador Inteligentes do SQL Server fornecem um status de integridade que é usado por um trabalho de notificação por email para fornecer notificações ou informar sobre erros e problemas. Para obter mais informações, consulte Monitorar SQL Server backup gerenciado no Azure.

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

Etapas gerais da solução de problemas

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

    Se desejar, você também pode executar smart_admin.fn_get_health_status periodicamente para verificar os erros e as contagens de agregação. Por exemplo, number_of_invalid_credential_errors é o número de vezes em que o backup inteligente tentou um backup mas obteve um erro de credencial inválida. 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 verificaram a lista de bancos de dados. Normalmente, quando @begin_time e @end_time não são fornecidos, a função está mostrando as informações dos últimos 30 minutos, então normalmente devemos ver valores diferentes de zero para essas duas colunas. Se eles forem zero, o sistema está sobrecarregado ou 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. Revise os logs de Eventos Estendidos para obter mais detalhes sobre 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

Esta é a lista das causas comuns de falhas:

  1. Alterações na Credencial do SQL: Se o nome da credencial usada por SQL Server Backup Gerenciado no Microsoft Azure for alterado ou se for excluído, SQL Server Backup Gerenciado no Microsoft Azure não poderá fazer backups. A alteração deve ser aplicada às definições de configuração do Backup Gerenciado do SQL Server para o 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, SQL Server Backup Gerenciado no Microsoft Azure falhará ao autenticar no armazenamento e falhará ao fazer backup de 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 à Credencial do SQL fará com que SQL Server Backup Gerenciado no Microsoft Azure falhe e nenhum backup será feito. Se você excluir uma conta de armazenamento, verifique se os bancos de dados foram reconfigurados com informações válidas da conta de armazenamento. Se uma conta de armazenamento for renomeada ou os valores de chave forem alterados, certifique-se de que essas alterações sejam refletidas na Credencial do SQL usada por SQL Server Backup Gerenciado 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 causar falha nos backups.

  5. Alterações no modelo de recuperação: Se o modelo de recuperação do banco de dados for alterado para simples de completo ou bulk-logged, os backups serão interrompidos e os bancos de dados serão ignorados por SQL Server Backup Gerenciado para o Microsoft Azure. Para obter mais informações, consulte backup gerenciado SQL Server no Azure: interoperabilidade e coexistência

Mensagens de erro e soluções mais comuns

  1. Erros ao habilitar ou configurar SQL Server Backup Gerenciado no 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 que você forneceu e também as informações armazenadas na Credencial 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 SQL Server Backup Gerenciado no Microsoft Azure para um banco de dados do sistema. SQL Server Backup Gerenciado 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 a instância quando estiver configurando esses valores pela primeira vez. Você também poderá consultar 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: "Database Mail não está habilitado..." – Você verá esse erro se habilitar notificações por email, mas Database Mail não estiver configurado na instância. Você deve configurar Database Mail na instância para receber uma notificação do status de integridade do Backup Gerenciado do SQL Server para o Microsoft Azure. Para obter informações sobre como habilitar o database mail, consulte Configurar 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.

    Esta é uma lista dos números de erro que você possivelmente verá e que estão associados às 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 ao se conectar a SQL Server instância. Os eventos estendidos expõem esses tipos de erros pelo canal de administração. Veja a seguir os dois eventos estendidos que você pode consultar em busca de erros relacionados a esse tipo de problemas de conectividade:

      FileRetentionAdminXEvent com event_type = SqlError. Para obter detalhes deste erro, consulte 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 SQL Server configurações padrão do Backup Gerenciado para o Azure, por exemplo. O erro pode ser transitório.”

      “Provavelmente, está com problemas de conectividade com o SQL Server. Ignorando o banco de dados na iteração atual."

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

      “Exceção do SQL ao carregar os metadados do agente de SSMBackup2WA. A falha pode ser transitória. A operação será tentada novamente."

      "SSMBackup2WA encontrou exceção sql enquanto ... "

    • Erros durante a conexão com a conta de armazenamento:

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

      Como o Backup Gerenciado do SQL Server usa a tecnologia subjacente de Backup para URL, os erros relacionados à conectividade de armazenamento aplicam-se a ambos os 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 Práticas recomendadas e solução de problemas de backup em URL do SQL Server.

Solucionando 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 sobre SQL Server Backup Gerenciado no Microsoft Azure:

  • Sqlservr.exe para de responder ou para de funcionar quando SQL Server Backup Gerenciado no Microsoft Azure está em execução: se SQL Server parar de funcionar, o SQL Agent será desligado normalmente, SQL Server Backup Gerenciado 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 SQL (o mecanismo não está respondendo ou obtém sqlException: SqlException:
    o código de erro, a mensagem e o stacktrace serão exibidos em um canal de administração xevent, junto com qualquer informação adicional, como:
    “Provavelmente, está com 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 SQL Server Backup Gerenciado no Microsoft Azure está em execução:

    Se o SQL Agent parar de funcionar, SQL Server Backup Gerenciado 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, SQL Server Backup Gerenciado 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:

    Os trabalhos são suspensos: consulte os xevents do canal de administração
    "Uma atualização de progresso não foi recebida de SQL Server em mais de " + Constants.DBBackupInfoMsgMaxWaitTime + " horas para backup de banco de dados. O backup na nuvem do SSM continuará esperando.”

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

Aviso

Os processos internos que geram os resultados para o relatório supõem que os logs de diagnóstico de mecanismo estejam no mesmo local do log de erros do SQL Agent, que, por padrão, está na mesma pasta dos logs de erro da instância do SQL Server. Se os logs de diagnóstico do mecanismo forem movidos para um local diferente do local do log de erros do SQL Agent, o sistema não conseguirá localizar os logs de diagnóstico de backup e, consequentemente o relatório da notificação por email poderá não estar correto. Por exemplo, você pode ver um valor igual a 0 em todos os campos relatados, incluindo o Número de Loops de Backup e o Número de Loops de Retenção. Neste caso onde os logs de diagnóstico são movidos para um local diferente, isso pode não significar que o sistema não esteja respondendo, mas que o sistema não consegue encontrar os logs. Primeiro, verifique se o local dos logs de diagnóstico e dos logs de erro do SQL Agent estão no mesmo local Para verificar o local atual dos logs de diagnóstico, você pode usar sys.dm_os_server_diagnostics_log_configurations. A path coluna retorna o local atual dos logs de diagnóstico do mecanismo. 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 resolver a situação.