Condividi tramite


Classe SqlErrorLogEvent

Fornisce proprietà per la visualizzazione di eventi in un file di log di SQL Server specificato.

Sintassi

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

Proprietà

La classe SQLErrorLogEvent definisce le proprietà seguenti.

Nome del file Tipo di dati: string

Tipo di accesso: sola lettura



Nome del file di log degli errori.
InstanceName Tipo di dati: string

Tipo di accesso: sola lettura

Qualificatori: chiave

Nome dell'istanza di SQL Server in cui risiede il file di log.
LogDate Tipo di dati: datetime

Tipo di accesso: sola lettura

Qualificatori: chiave



Data e ora della registrazione dell'evento nel file di log.
Messaggio Tipo di dati: string

Tipo di accesso: sola lettura



Messaggio di evento.
ProcessInfo Tipo di dati: string

Tipo di accesso: sola lettura



Informazioni sull'ID del processo server di origine (SPID) per l'evento.

Osservazioni:

MOF Sqlmgmproviderxpsp2up.mof
DLL Sqlmgmprovider.dll
Spazio dei nomi \root\Microsoft\SqlServer\ComputerManagement10

Esempio

Nell'esempio seguente viene illustrato come recuperare valori per tutti gli eventi registrati in un file di log specificato. Per eseguire l'esempio, sostituire <Instance_Name> con il nome dell'istanza di SQL Server, ad esempio "Instance1" e sostituire "File_Name" con il nome del file di log degli errori, ad esempio "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  

Commenti

Quando InstanceName o FileName non vengono forniti nell'istruzione WQL, la query restituirà informazioni per l'istanza predefinita e il file di log di SQL Server corrente. Ad esempio, l'istruzione WQL seguente restituirà tutti gli eventi di log dal file di log corrente (ERRORLOG) nell'istanza predefinita (MSSQLSERVER).

"SELECT * FROM SqlErrorLogEvent"  

Sicurezza

Per connettersi a un file di log di SQL Server tramite WMI, è necessario disporre delle autorizzazioni seguenti per i computer locali e remoti:

  • Accesso in lettura allo spazio dei nomi WMI Root\Microsoft\SqlServer\ComputerManagement10 . Per impostazione predefinita, chiunque dispone di accesso in lettura tramite l'autorizzazione Abilita account.

  • Autorizzazione di lettura per la cartella che contiene i log degli errori. Per impostazione predefinita, i log degli errori si trovano nel percorso seguente (dove <> rappresenta l'unità in cui è installato SQL Server e <InstanceName> è il nome dell'istanza di SQL Server):

    <Unità>:\Programmi\Microsoft SQL Server\MSSQL12.<InstanceName>\MSSQL\Log

Se si sta eseguendo la connessione attraverso un firewall, assicurarsi che sia impostata un'eccezione nel firewall per WMI nei computer di destinazione remoti. Per altre informazioni, vedere Connessione a WMI in remoto a partire da Windows Vista.

Vedi anche

Classe SqlErrorLogFile
Visualizzare file di log offline