SQL Server SP_READERRORLOG

SQL Server SP_READERRORLOG

Les journaux se réfèrent à une série d'enregistrements créés par une application pour décrire les détails des événements et actions effectués par l'application. Presque toutes les applications implémentent un mécanisme de journalisation pour aider les développeurs et les utilisateurs à dépanner les erreurs qui peuvent survenir.

Comme vous pouvez le deviner, SQL Server nous fournit des journaux qui nous permettent de suivre et de dépanner les événements qui se produisent dans le serveur. Dans certains cas, vous pouvez utiliser les journaux SQL Server pour se remettre d'une panne de base de données.

Ce tutoriel explique comment vous pouvez utiliser la procédure stockée SP_ReaderrorLog pour lire les journaux créés par l'agent SQL Server et SQL Server.

SP_READERRORLOGS () Syntaxe de procédure

Ce qui suit montre la syntaxe de la procédure stockée SP_READERRORLOG dans le serveur SQL:

sp_readerrorlog
@ p1 int = 0,
@ p2 int = null,
@ p3 nvarchar (4000) = null,
@ p4 nvarchar (4000) = null

Arguments acceptés

La procédure accepte les arguments suivants tels que définis dans la syntaxe donnée:

  1. @ p1 - Cela définit le journal que vous souhaitez voir comme une valeur entière. Le journal d'erreur actuel a une valeur de 0, celle précédente qui a une valeur de 1, la seconde avant avec une valeur de 2, etc.
  2. @ p2 - Le paramètre P2 vous permet de définir le produit dont les journaux sont ce que vous souhaitez afficher comme une valeur entière avec 1 pour SQL Server et 2 pour l'agent SQL Server. Par défaut, la procédure renvoie les journaux du serveur SQL.
  3. @ p3 - Le paramètre P3 vous permet de définir la chaîne dans laquelle vous souhaitez filtrer lors de la récupération des journaux. Par défaut, cette valeur est nul.
  4. @ p4 - Enfin, le paramètre P4 vous permet de définir une deuxième chaîne à rechercher lors du filtrage des journaux. Ceci est utile lorsque vous devez affiner votre modèle de recherche.

La fonction renvoie ensuite le contenu du journal d'erreur, correspondant au modèle spécifique.

SQL Server crée un journal d'erreur pour chaque instance que le serveur est démarré. Les journaux d'erreur sont nommés errorLog1, errorLog2, errorLog3, etc.

Exemple d'utilisation:

Les exemples suivants montrent comment nous pouvons utiliser la procédure stockée SP_Readerrorlog pour lire les journaux disponibles.

Utilisation du sp_readerrorlog () pour lire le journal d'erreur actuel

L'exemple suivant utilise le sp_readerrorlog () pour lire le journal d'erreur actuel:

exec sp_readerRorlog;

Sans aucun paramètre, la requête précédente renvoie le journal d'erreur actuel pour le serveur SQL.

Un exemple de sortie est le suivant:

Utilisation du sp_readerrorlog () pour lire l'erreur à un index spécifique

Pour lire l'erreurlog3 pour SQL Server, nous pouvons exécuter la requête comme suit:

EXEC SP_READERRORLOG 3, 1;

Dans ce cas, la procédure doit renvoyer le contenu du fichier ErrorLog3 pour le serveur SQL.

Trouver le journal avec une chaîne spécifique

Pour filtrer les journaux avec une chaîne spécifique, nous pouvons exécuter la requête suivante:

EXEC SP_READERRORLOG 5, 1, «Démarrage», «Master»;

Dans ce cas, la requête précédente doit renvoyer les journaux lorsque la base de données maître commence. Un exemple de sortie est comme indiqué dans ce qui suit:

LogDate | ProcessInfo | Texte |
-----------------------+-----------+------------------------------+
2022-10-17 14:44:28.550 | SPID9S | Démarrage de la base de données «Master».|

Conclusion

Dans cet article, vous avez appris à utiliser la procédure stockée SQL Server SP_Readerrorlog pour lire les journaux d'erreur dans le serveur SQL.

Merci d'avoir lu!