Partager via


Classe SqlErrorLogEvent

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.

FileName Type de données : string

Type d’accès : Lecture seule



Nom du fichier journal des erreurs.
InstanceName Type de données : string

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 : datetime

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

Type d’accès : Lecture seule



Message d'événement.
ProcessInfo Type de données : string

Type d’accès : Lecture seule



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

Notes

MOF Sqlmgmproviderxpsp2up.mof
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\MSSQL12 .<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

SqlErrorLogFile, classe
Afficher les fichiers journaux hors connexion