Dépannage de la sauvegarde managée de SQL Server sur Azure

Cette rubrique décrit les tâches et les outils que vous pouvez utiliser pour résoudre les erreurs qui peuvent se produire pendant SQL Server opérations de sauvegarde managée sur Microsoft Azure.

Vue d’ensemble

SQL Server sauvegarde managée sur Microsoft Azure a intégré des vérifications et une résolution des problèmes. Ainsi, dans de nombreux cas, les défaillances internes sont prises en charge par SQL Server processus de sauvegarde managée sur Microsoft Azure lui-même.

Un exemple de ce type est la suppression d’un fichier de sauvegarde entraînant une interruption de la chaîne de journal affectant la récupération : SQL Server sauvegarde managée sur Microsoft Azure identifie l’interruption de la chaîne de journaux et planifie une sauvegarde à effectuer immédiatement. Toutefois, nous vous recommandons de surveiller l'état et de résoudre les erreurs qui nécessitent une intervention manuelle.

SQL Server sauvegarde managée sur Microsoft Azure journalise les événements et les erreurs à l’aide de procédures stockées système, de vues système et d’événements étendus. Les vues système et les procédures stockées fournissent SQL Server sauvegarde managée aux informations de configuration de Microsoft Azure, status des sauvegardes planifiées de sauvegarde, ainsi que les erreurs capturées par les événements étendus. SQL Server sauvegarde managée sur Microsoft Azure utilise des événements étendus pour capturer les erreurs à utiliser pour la résolution des problèmes. En plus d'enregistrer les événements, les stratégies SQL Server Smart Admin fournissent l'état d'intégrité utilisé par le travail de notification par courrier électronique pour notifier les erreurs et les problèmes. Pour plus d’informations, consultez Surveiller SQL Server sauvegarde managée sur Azure.

SQL Server sauvegarde managée sur Microsoft Azure utilise également la même journalisation que celle utilisée lors de la sauvegarde manuelle dans le stockage Azure (SQL Server sauvegarde sur l’URL). Pour plus d’informations sur les problèmes liés à la sauvegarde vers une URL, consultez la section résolution des problèmes dans SQL Server Meilleures pratiques et résolution des problèmes liés à la sauvegarde vers une URL

Étapes de dépannage générales

  1. Activez la notification par courrier électronique pour recevoir des courriers électroniques en cas d'erreurs ou d'avertissements.

    Exécutez aussi régulièrement smart_admin.fn_get_health_status pour vérifier le nombre agrégé des erreurs. Par exemple, number_of_invalid_credential_errors est le nombre de fois où la sauvegarde intelligente a tenté une sauvegarde, mais a rencontré une erreur d'informations d'identification non valides. Number_of_backup_loops et number_of_retention_loops ne sont pas des erreurs ; mais indiquent le nombre de fois où le thread de sauvegarde et le thread de rétention ont analysé la liste de bases de données. En règle générale, lorsque @begin_time et @end_time ne sont pas fournis, la fonction affiche les informations des 30 dernières minutes, alors nous devons normalement voir des valeurs non nulles pour ces deux colonnes. Si des valeurs égales à zéro s'affichent, cela indique que le système est surchargé ou qu'il ne répond pas. Pour plus d’informations, consultez la section Résolution des problèmes système plus loin dans cette rubrique.

  2. Passez en revue les journaux des événements étendus pour obtenir plus de détails sur les erreurs et les autres événements associés.

  3. Utilisez les informations des journaux pour résoudre le problème. En cas de problème ou d'erreur système, vous devrez peut-être redémarrer le service ou SQL Server Agent.

Causes courantes d'erreur

Voici une liste des causes courantes aboutissant à un échec :

  1. Modifications apportées aux informations d’identification SQL : Si le nom des informations d’identification utilisées par SQL Server Sauvegarde managée sur Microsoft Azure est modifié ou s’il est supprimé, SQL Server Sauvegarde managée sur Microsoft Azure ne pourra pas effectuer de sauvegardes. La modification doit être appliquée à SQL Server Sauvegarde managée dans les paramètres de configuration Microsoft Azure.

  2. Modifications apportées aux valeurs de clé d’accès au stockage : Si les valeurs de clé de stockage sont modifiées pour le compte Azure, mais que les informations d’identification SQL ne sont pas mises à jour avec les nouvelles valeurs, SQL Server sauvegarde managée sur Microsoft Azure échoue lors de l’authentification auprès du stockage et ne parvient pas à sauvegarder les bases de données configurées pour utiliser ce compte.

  3. Modifications apportées au compte stockage Azure : La suppression ou le changement de nom du compte de stockage sans modification correspondante des informations d’identification SQL entraîne l’échec de SQL Server sauvegarde managée sur Microsoft Azure et aucune sauvegarde ne sera effectuée. Si vous supprimez un compte de stockage, assurez-vous que les bases de données sont reconfigurées avec des informations de compte de stockage valides. Si un compte de stockage est renommé ou si les valeurs de clé sont modifiées, assurez-vous que ces modifications sont reflétées dans les informations d’identification SQL utilisées par SQL Server sauvegarde managée sur Microsoft Azure.

  4. Modifications apportées aux propriétés de la base de données : Les modifications apportées aux modèles de récupération ou la modification du nom peuvent entraîner l’échec des sauvegardes.

  5. Modifications apportées au modèle de récupération : Si le modèle de récupération de la base de données passe du mode de récupération complet ou journalisé en bloc, les sauvegardes s’arrêtent et les bases de données sont ignorées par SQL Server sauvegarde managée sur Microsoft Azure. Pour plus d’informations, consultez SQL Server sauvegarde managée sur Azure : interopérabilité et coexistence

Messages d'erreur courants et solutions

  1. Erreurs lors de l’activation ou de la configuration de SQL Server sauvegarde managée sur Microsoft Azure :

    Erreur : « Échec de l’accès à l’URL de stockage.... Fournissez des informations d’identification SQL valides... » : vous pouvez voir ceci et d’autres erreurs similaires faisant référence aux informations d’identification SQL. Dans ce cas, passez en revue le nom des informations d’identification SQL que vous avez fournies, ainsi que les informations stockées dans les informations d’identification SQL ( le nom du compte de stockage et la clé d’accès de stockage), et vérifiez qu’elles sont actuelles et valides.

    Erreur : « ... impossible de configurer la base de données.... car il s’agit d’une base de données système » : cette erreur s’affiche si vous essayez d’activer SQL Server sauvegarde managée sur Microsoft Azure pour une base de données système. SQL Server sauvegarde managée sur Microsoft Azure ne prend pas en charge les sauvegardes pour les bases de données système. Pour configurer la sauvegarde d'une base de données système, utilisez d'autres technologies de sauvegarde SQL Server, comme les plans de maintenance.

    Erreur : » ... Indiquez une période de rétention.... » : vous pouvez voir des erreurs concernant la période de rétention si vous n’avez pas spécifié de période de rétention pour la base de données ou instance lorsque vous configurez ces valeurs pour la première fois. Vous verrez également cette erreur si vous avez utilisé une valeur non comprise dans la plage 1 à 30. Les valeurs autorisées pour la période de rétention sont un nombre compris entre 1 et 30.

  2. Erreurs de notification de courrier électronique :

    Erreur : « Database Mail n’est pas activé... » : cette erreur s’affiche si vous activez les notifications par courrier électronique, mais Database Mail n’est pas configuré sur le instance. Vous devez configurer Database Mail sur le instance pour pouvoir recevoir une notification de l’status d’intégrité de SQL Server sauvegarde managée sur Microsoft Azure. Pour plus d’informations sur l’activation de la messagerie de base de données, consultez Configurer Database Mail. Vous devez également permettre à SQL Server Agent d'utiliser la messagerie de base de données pour les notifications. Pour plus d'informations, consultez Avant de commencer.

    Voici une liste de numéros d'erreur que vous pouvez voir, qui sont associés aux notifications par message électronique :

    • ErrorNumber : 45209

    • ErrorNumber : 45210

    • ErrorNumber : 45211

  3. Erreurs de connectivité :

    • Erreurs liées à la connectivité SQL : Ces erreurs se produisent en cas de problèmes de connexion à SQL Server instance. Les événements étendus exposent ces types d'erreurs via le canal d'administration. Voici deux événements étendus que vous pouvez voir pour les erreurs relatives à ce type de problème de connectivité :

      FileRetentionAdminXEvent avec l'event_type = SqlError. Pour les détails de cette erreur, observez l'error_code, l'error_message et le stack_trace de cet événement. Le error_code est le numéro d’erreur de SqlException.

      SmartBackupAdminXevent avec les messages/préfixes de message suivants :

      « Une erreur interne s’est produite lors de la configuration de SQL Server sauvegarde managée sur les paramètres par défaut Azure pour instance. L'erreur peut être temporaire. »

      « Problèmes de connectivité probables avec SQL Server. La base de données est ignorée dans l'itération active. »

      « L'interrogation des informations d'utilisation du journal a échoué. L'échec peut être temporaire. La base de données est ignorée dans l'itération active. »

      « Exception SQL rencontrée lors du chargement des métadonnées de l'agent SSMBackup2WA. L'échec peut être temporaire. L'opération sera retentée. »

      « SSMBackup2WA a rencontré une exception SQL alors que ... "

    • Erreurs lors de la connexion au compte de stockage :

      Les exceptions de stockage sont répertoriées dans FileRetentionAdminXEvent avec l'event_type = XstoreError. Pour les détails de l'erreur, observez l'error_message et le stack_trace de cet événement.

      Étant donné que la sauvegarde managée de SQL Server utilise la technologie de sauvegarde vers l'URL sous-jacente, les erreurs liées à la connectivité du stockage s'appliquent aux deux fonctionnalités. Pour plus d’informations sur les étapes de résolution des problèmes, consultez la section résolution des problèmes de l’article Meilleures pratiques et résolution des problèmes relatifs à la sauvegarde vers l’URL SQL Server.

Dépannage des problèmes du système

Voici quelques scénarios où il existe un problème avec le système (SQL Server, SQL Server Agent) et ses effets sur SQL Server sauvegarde managée sur Microsoft Azure :

  • Sqlservr.exe cesse de répondre ou cesse de fonctionner lorsque SQL Server sauvegarde managée sur Microsoft Azure est en cours d’exécution : si SQL Server cesse de fonctionner, SQL Agent s’arrête correctement, SQL Server sauvegarde managée sur Microsoft Azure s’arrête également et les événements sont enregistrés dans le fichier SQL Agent.out.

    Si SQL Server ne répond plus, des événements sont consignés dans le canal d'administration. Exemple du journal des événements :

    Erreur SQL (le moteur ne répond pas ou obtient sqlException : SqlException :
    code d'erreur, message et trace de la pile s'affichent dans un événement étendu du canal d'administration, avec des informations supplémentaires, telles que :
    « Problèmes de connectivité probables avec SQL Server. Ignorer la base de données dans l’itération actuelle »

  • SQL Agent cesse de répondre ou cesse de fonctionner lorsque SQL Server sauvegarde managée sur Microsoft Azure est en cours d’exécution :

    Si SQL Agent cesse de fonctionner, SQL Server sauvegarde managée sur Microsoft Azure s’arrête également et les événements sont enregistrés dans le canal d’administration. Ce comportement est similaire à celui des scénarios dans lesquels SQL Server ne répond plus.

    Si SQL Agent cesse de répondre, SQL Server sauvegarde managée sur Microsoft Azure ne pourra pas poursuivre les opérations de sauvegarde, et les événements sont enregistrés dans le canal d’administration. Exemple du journal des événements :

    Le travail se bloque : voir les événements étendus de canal d'administration
    « Aucune mise à jour de progression n’a été reçue de SQL Server en plus d’heures « + Constants.DBBackupInfoMsgMaxWaitTime + » pour la sauvegarde de base de données. La sauvegarde de cloud SSM doit continuer à attendre. »

Si vous avez activé la notification par message électronique, vous recevrez une notification qui comprend le Nombre de boucles de sauvegarde et le Nombre de boucles de rétention. Si la valeur retournée dans la notification pour une de ces deux colonnes ou les deux est zéro, cela peut indiquer que le système ne répond pas.

Avertissement

Les processus internes qui génèrent les résultats du rapport supposent que les journaux de diagnostic du moteur sont dans le même emplacement que le journal d'erreurs SQL Agent, qui est par défaut dans le même dossier que les journaux d'erreurs de l'instance de SQL Server. Si les journaux de diagnostic du moteur sont déplacés dans un autre emplacement que l'emplacement du journal d'erreurs de SQL Agent, le système ne trouve pas les journaux de diagnostic de la sauvegarde intelligente et, par conséquent, le rapport dans la notification par messagerie peut-être incorrect. Par exemple, vous pouvez voir la valeur 0 dans tous les champs, y compris pour le nombre de boucles de sauvegarde et pour le nombre de boucles de rétention. Dans ce cas, lorsque les journaux de diagnostic sont déplacés dans un autre emplacement, cela ne signifie pas que le système ne répond pas, mais qu'il ne trouve pas les journaux. Vérifiez d'abord que l'emplacement des journaux de diagnostic et des journaux d'erreurs de SQL Agent est le même. Pour vérifier l’emplacement actuel des journaux de diagnostic, vous pouvez utiliser sys.dm_os_server_diagnostics_log_configurations. La path colonne retourne l’emplacement actuel des journaux de diagnostic du moteur. Il doit se trouver dans le même dossier que les journaux d’erreurs de SQL Agent. Pour obtenir le chemin d'accès du journal d'erreurs de SQL Agent, utilisez la procédure stockée dbo.sp_get_sqlagent_properties.

Consultez les journaux des événements étendus pour afficher les détails des erreurs. Résolvez les erreurs, ou redémarrez SQL Server Agent pour résoudre le problème.