Compartilhar via


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.

Confira também

Classe SqlErrorLogFile
Exibir arquivos de log offline