Classe SqlErrorLogEvent
Fornece propriedades para exibir eventos em um arquivo de log do SQL Server especificado.
Sintaxe
class SQLErrorLogEvent
{
stringFileName;
stringInstanceName;
datetimeLogDate;
stringMessage;
stringProcessInfo;
};
Propriedades
A classe SQLErrorLogEvent define as propriedades a seguir.
FileName | Tipo de dados: string Tipo de acesso: Somente leitura O nome do arquivo do log de erros. |
InstanceName | Tipo de dados: string Tipo de acesso: Somente leitura Qualificadores: Key O nome da instância do SQL Server em que o arquivo de log reside. |
Data de registro | Tipo de dados: datetime Tipo de acesso: Somente leitura Qualificadores: Key A data e a hora em que o evento foi gravado no arquivo de log. |
Mensagem | Tipo de dados: string Tipo de acesso: Somente leitura A mensagem do evento. |
Informações do processo | Tipo de dados: string Tipo de acesso: Somente leitura Informações sobre a SPID (ID do processo do servidor de origem) do evento. |
Comentários
MOF | Sqlmgmproviderxpsp2up.mof |
DLL | Sqlmgmprovider.dll |
Namespace | \root\Microsoft\SqlServer\ComputerManagement10 |
Exemplo
O exemplo a seguir mostra como recuperar valores para todos os eventos registrados em um arquivo de log especificado. Para executar o exemplo, substitua <Instance_Name> pelo nome da instância do SQL Server, como 'Instance1', e substitua 'File_Name' pelo nome do arquivo de log de erros, como '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
Comentários
Quando InstanceName ou FileName não forem fornecidos na instrução WQL, a consulta retornará informações para a instância padrão e o arquivo de log atual do SQL Server. Por exemplo, a instrução WQL a seguir retornará todos os eventos de log do arquivo de log atual (ERRORLOG) na instância padrão (MSSQLSERVER).
"SELECT * FROM SqlErrorLogEvent"
Segurança
Para se conectar a um arquivo de log do SQL Server por meio do WMI, você deve ter as seguintes permissões nos computadores local e remoto:
Acesso de leitura ao namespace WMI Root\Microsoft\SqlServer\ComputerManagement10 . Por padrão, todos usuários têm acesso de leitura por meio da permissão Habilitar Conta.
Permissão de leitura para a pasta que contém os logs de erros. Por padrão, os logs de erros estão localizados no seguinte caminho (em que <Drive> representa a unidade em que você instalou o SQL Server e <InstanceName> é o nome da instância do SQL Server):
<Unidade>:\Arquivos de Programas\Microsoft SQL Server\MSSQL12 .<InstanceName>\MSSQL\Log
Se você se conectar através de um firewall, verifique se uma exceção está definida no firewall para WMI em computadores de destino remotos. Para obter mais informações, consulte Conectando-se ao WMI remotamente a partir do Windows Vista.