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.
| Nome del file | Tipo di dati: stringTipo di accesso: sola lettura Nome del file di log degli errori. |
| InstanceName | Tipo di dati: stringTipo di accesso: sola lettura Qualificatori: chiave Nome dell'istanza di SQL Server in cui risiede il file di log. |
| LogDate | Tipo di dati: datetimeTipo di accesso: sola lettura Qualificatori: chiave Data e ora della registrazione dell'evento nel file di log. |
| Messaggio | Tipo di dati: stringTipo di accesso: sola lettura Messaggio di evento. |
| ProcessInfo | Tipo di dati: stringTipo 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.