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.