Partager via


Classe SqlErrorLogEvent

S'applique à : SQL Server

Fournit des propriétés pour l’affichage des événements dans un fichier journal SQL Server spécifié.

Syntaxe

class SQLErrorLogEvent
{
    stringFileName;
    stringInstanceName;
    datetimeLogDate;
    stringMessage;
    stringProcessInfo;
};

Propriétés

La classe SQLErrorLogEvent définit les propriétés suivantes.

Propriété Description
FileName Type de données : string (chaîne)

Type d’accès : Lecture seule

Nom du fichier journal des erreurs.
InstanceName Type de données : string (chaîne)

Type d’accès : Lecture seule

Qualificateurs : Key (clé)

Nom de l’instance de SQL Server où réside le fichier journal.
LogDate Type de données : DateHeure

Type d’accès : Lecture seule

Qualificateurs : Key (clé)

Date et heure auxquelles l'événement a été enregistré dans le fichier journal.
Message Type de données : string (chaîne)

Type d’accès : Lecture seule

Message d'événement.
ProcessInfo Type de données : string (chaîne)

Type d’accès : Lecture seule

Informations sur l'ID du processus du serveur source (SPID) pour l'événement.

Notes

Type Nom
MOF - sqlmgmprovider.mof (SQL Server 2022 (16.x) et versions ultérieures)
- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) et versions antérieures)
DLL sqlmgmprovider.dll
Espace de noms \root\Microsoft\SqlServer\ComputerManagement10

Exemple

L'exemple suivant indique comment extraire des valeurs pour tous les événements enregistrés dans un fichier journal spécifié. Pour exécuter l’exemple, remplacez <Instance_Name> par le nom de l’instance de SQL Server, par exemple « Instance1 », puis remplacez « File_Name » par le nom du fichier journal des erreurs, tel que « ERRORLOG.1 ».

on error resume next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\MICROSOFT\SqlServer\ComputerManagement10")
set logEvents = objWmiService.ExecQuery("SELECT * FROM SqlErrorLogEvent WHERE InstanceName = '<Instance_Name>' AND FileName = 'File_Name'")
  
For Each logEvent in logEvents
WScript.Echo "Instance Name: " & logEvent.InstanceName & vbNewLine _
    & "Log Date: " & logEvent.LogDate & vbNewLine _
    & "Log File Name: " & logEvent.FileName & vbNewLine _
    & "Process Info: " & logEvent.ProcessInfo & vbNewLine _
    & "Message: " & logEvent.Message & vbNewLine _
  
Next

Commentaires

Lorsque InstanceName ou FileName ne sont pas fournis dans l’instruction WQL, la requête retourne des informations pour l’instance par défaut et le fichier journal SQL Server actuel. Par exemple, l’instruction WQL suivante retourne tous les événements de journal du fichier journal actuel (ERRORLOG) sur l’instance par défaut (MSSQLSERVER).

"SELECT * FROM SqlErrorLogEvent"

Sécurité

Pour vous connecter à un fichier journal SQL Server via WMI, vous devez disposer des autorisations suivantes sur les ordinateurs locaux et distants :

  • Accès en lecture à l’espace de noms WMI Root\Microsoft\SqlServer\ComputerManagement10 . Par défaut, tout le monde dispose de l'accès en lecture via l'autorisation Activer le compte.

  • Autorisation en lecture sur le dossier qui contient les journaux des erreurs. Par défaut, les journaux d’erreurs se trouvent dans le chemin suivant (où <Drive> représente le lecteur où vous avez installé SQL Server et <InstanceName> est le nom de l’instance de SQL Server) :

    <Lecteur> :\Program Files\Microsoft SQL Server\MSSQL13 .<InstanceName>\MSSQL\Log

Si vous vous connectez via un pare-feu, vérifiez qu’une exception est définie dans le pare-feu pour WMI sur les ordinateurs cibles distants. Pour plus d’informations, consultez Connexion à WMI à distance à partir de Windows Vista.

Voir aussi