Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
FileName |
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: Key Nome dell'istanza di SQL Server in cui si trova il file di log. |
LogDate |
Tipo di dati: datetime Tipo di accesso: Sola lettura Qualificatori: Key
Data e ora della registrazione dell'evento nel file di log. |
Message |
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 "Istanza1" 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 il valore di InstanceName o FileName non viene fornito nell'istruzione WQL, la query restituisce informazioni per l'istanza predefinita e il file di log di SQL Server corrente. L'istruzione WQL seguente restituisce, ad esempio, tutti gli eventi di log per il file di log corrente (ERRORLOG) nell'istanza predefinita (MSSQLSERVER).
"SELECT * FROM SqlErrorLogEvent"
Sicurezza
Per eseguire la connessione a un file di log di SQL Server tramite WMI, è necessario disporre delle autorizzazioni seguenti nel computer locale e nel computer remoto:
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 <Unità> rappresenta l'unità in cui è stato installato SQL Server e <NomeIstanza> è il nome dell'istanza di SQL Server:
<Unità>:\Programmi\Microsoft SQL Server\MSSQL11.<NomeIstanza>\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 ulteriori informazioni, vedere la pagina Web relativa alla connessione a WMI in modalità remota a partire da Windows Vista.