Comment puis-je résoudre les problèmes liés à Microsoft SQL sur mon instance Windows EC2 ?

Lecture de 7 minute(s)
0

Je reçois des message d'erreurs sur mon instance Amazon Elastic Compute Cloud (Amazon EC2) qui exécute Microsoft SQL Server. Ou bien encore, SQL Server est lent, ce qui entraîne des erreurs de délai d'expiration de la journalisation des applications.

Brève description

Les erreurs suivantes sont des erreurs courantes susceptibles de se produire sur votre instance SQL Server :

  • L'instance SQL Server a basculé d'un réplica principal un replica secondaire.
  • Event Viewer enregistre l'événement 1196 « L'enregistrement d'un ou plusieurs noms DNS associés à la ressource de nom de réseau de cluster 'Nom de cluster' a échoué pour la raison suivante » toutes les 15 minutes.
  • Impossible de créer un écouteur SQL.
  • SQL Server est lent et les applications enregistrent les erreurs de délai d'attente.
  • L'ajout d'un nœud échoue en affichant une erreur « informations d'identification non valides » après la détection des paramètres d'un serveur distinct lors de la configuration SQL.

Résolution

L'instance SQL Server a basculé d'un replica principal à un replica secondaire

Le basculement se produit souvent avec le groupe de clusters sous-jacent. Pour déterminer si le problème se situe au niveau du cluster, affichez les journaux système dans Event Viewer en suivant ces étapes :

  1. Ouvrez l'application Exécuter, saisissez eventvwr, puis sélectionnez OK.
  2. Sélectionnez Journaux Windows, puis Système. Si vous trouvez les événements 1069, 1146, 1230 ou 1135 dans les journaux, commencez à enquêter au niveau du cluster en générant des journaux de cluster.
    Remarque : en cas de basculement du nœud du cluster, l'événement 1135 s'affiche. Pour en savoir plus sur la résolution de ce problème, reportez-vous à la section Résolution du problème de cluster avec l'ID d'événement 1135 sur le site Web de Microsoft.

Pour générer et récupérer les journaux du cluster, procédez comme suit :

  1. Générez le dernier ensemble de journaux de cluster en exécutant la commande get-clusterlogs dans Windows PowerShell.
  2. Récupérez les journaux de cluster à partir de l'emplacement par défaut C:\windows\cluster\reports.

Si les journaux du cluster montrent que le cluster a basculé à cause des ressources SQL, examinez les journaux de l'application Event Viewer à la recherche d'erreurs SQL.

Pour en savoir plus, reportez-vous à Mécanismes et directives des délais d'expiration des baux, des clusters et de la vérification de l'état pour les groupes de disponibilité Always On sur le site Web de Microsoft.

Pour obtenir des détails spécifiques sur les défaillances de service de SQL Server, examinez les journaux d'erreurs de SQL Server. Pour en savoir plus, reportez-vous à la section Afficher le journal des erreurs du SQL Server dans SQL Server Management Studio (SSMS) sur le site Web de Microsoft

Event Viewer enregistre l'événement 1196 « L'enregistrement d'un ou plusieurs noms DNS associés à la ressource de nom de réseau de cluster 'Nom de cluster' a échoué pour la raison suivante » toutes les 15 minutes.

Toutes les 15 minutes, l'objet de nom de cluster (CNO) se connecte par défaut au DNS pour vérifier si les enregistrements requis existent toujours. En cas d'échec de la vérification, vous recevez le message d'erreur « Échec de l'enregistrement de la ressource de nom de réseau du cluster 'Nom du cluster'. » Cette erreur se produit souvent lorsque le CNO ne dispose pas d'autorisations sur l'enregistrement DNS du cluster pour le nom du réseau dans le cluster.

Pour résoudre ce problème, accordez au CNO toutes les autorisations concernant l'enregistrement DNS. Par défaut, le cluster accorde généralement ces autorisations au moment de la création.

Si vous utilisez un enregistrement DNS statique ou si vous ne souhaitez pas que le cluster continue de mettre à jour vos enregistrements DNS, procédez comme suit :

  1. Accédez à ncpa.cpl, Propriétés de la carte d'interface réseau (NIC), Propriétés Ipv4, Avancé, DNS.
  2. Décochez Enregistrer les adresses de cette connexion dans DNS.

Impossible de créer un écouteur SQL

Si vous ne parvenez pas à créer un écouteur SQL, un dépannage supplémentaire peut être nécessaire. Pour en savoir plus, reportez-vous à la section Échec de la création d'un écouteur avec le message « Le cluster WSFC n'a pas pu mettre en ligne la ressource de nom de réseau » sur le site Web de Microsoft.

SQL Server est lent et les applications enregistrent les erreurs de délai d'attente

Vérifiez si votre SQL Server présente une consommation élevée de la mémoire, du CPU ou un goulot d'étranglement au niveau du disque :
**Vérifiez si votre système d'exploitation consomme beaucoup de mémoire.**Ouvrez le Gestionnaire des tâches et sélectionnez l'onglet Performances. Si vous constatez une consommation élevée de la mémoire, limitez la mémoire SQL, si elle ne l'est pas déjà. Pour en savoir plus, reportez-vous à la section Options de configuration de la mémoire du serveur sur le site Web de Microsoft.

Si la mémoire SQL est déjà limitée, accédez à l'analyseur de performances Windows (perfmon) pour déterminer quelle application utilise la mémoire. Vous pouvez configurer perfmon sur site ou à distance. Pour en savoir plus, reportez-vous à la section Présentation de l'analyseur de performances Windows sur le site Web de Microsoft.

**Vérifiez si le niveau d'utilisation du CPU est élevé pour le système d'exploitation.**Ouvrez le Gestionnaire des tâches et sélectionnez l'onglet Performances. Vous pouvez également examiner les métriques d'Amazon CloudWatch. Accédez à l'Analyseur de performances Windows pour déterminer quelle application utilise la mémoire. Une utilisation élevée du CPU est généralement causée par un pilote obsolète. Utilisez la dernière version du pilote PV. Vous pouvez aussi passer à la dernière version des pilotes AWS NVMe.

Vérifiez la consommation élevée de disque sur le serveur, la lenteur du volume ou le niveau élevé d'E/S. Comme dans le cas d'une utilisation élevée du CPU, des pilotes obsolètes peuvent entraîner une consommation du disque. Utilisez la dernière version du pilote PV. Vous pouvez aussi passer à la dernière version des pilotes AWS NVMe. Si le problème persiste après la mise à jour des pilotes, configurez perfmon pour déterminer ce qui consomme les E/S sur le disque.

Pour résoudre les problèmes de SQL Server ou d'applications de base de données lentes, reportez-vous à la section Résoudre les problèmes liés à l'ensemble de SQL Server ou à une application de base de données qui semble lente sur le site Web de Microsoft.
Pour résoudre les problèmes de lenteur des E/S de SQL Server, reportez-vous à la section Résoudre les problèmes de lenteur des performances de SQL Server causés par des problèmes d'E/S sur le site Web de Microsoft.

L'ajout d'un nœud échoue avec une erreur « informations d'identification non valides » après la détection des paramètres d'un serveur distinct lors de la configuration SQL.

Vérifiez que l'une des conditions suivantes est vraie :

  • Le nom du compte de l'agent SQL est vide dans Configuration de SQL sur le nœud secondaire après la détection du détail du deuxième serveur.
  • La clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.SQL2014\ConfigurationState possède une ou plusieurs clés avec la valeur 2.

Si l'une ou l'autre des conditions précédentes est remplie, procédez comme suit :

  1. Ouvrez Windows PowerShell, puis exécutez les commandes suivantes :
    $ClusterName = "YourClusterName"
    $FciClusterGroupName = "SQL Server (MSSQLSERVER)"
    Add-ClusterResourceType -Name "SQL Server Agent" -Dll "sqagtres.dll"
    
    Remarque : modifiez les noms de variables, notamment YourClusterName, dans les exemples de commandes précédents pour les adapter à votre environnement.
  2. Ouvrez le Gestionnaire du cluster de basculement, puis sélectionnez Rôles, Rôle SQL, Ajouter une ressource, Plus de ressources.
  3. Sélectionnez Nouvel agent SQL Server, Propriétés, Dépendances.
  4. Dans le champ Ressource, sélectionnez Serveur SQL.
  5. Sélectionnez l'onglet Propriétés et entrez le nom de votre instance SQL Server dans le champ InstanceName. Saisissez ensuite le nom du cluster SQL dans le champ VirtualServerName. Le nouvel agent SQL Server démarre.
  6. Assurez-vous de changer toutes les clés par la valeur 1 dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.SQL2014\ConfigurationState.
  7. Exécutez à nouveau le programme d'installation. Vous pouvez désormais ajouter des nœuds sans recevoir d'erreurs d'informations d'identification.

Informations connexes

Comment puis-je lancer Microsoft SQL Server sur une instance Windows EC2 ?

Comment puis-je mettre à niveau mon cluster Microsoft SQL sur mes instances Windows EC2 ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois