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: Chave

O nome da instância do SQL Server onde o arquivo de log reside.

LogDate

Tipo de dados: datetime

Tipo de acesso: Somente leitura

Qualificadores: Chave

 

A data e a hora em que o evento foi gravado no arquivo de log.

Message

Tipo de dados: string

Tipo de acesso: Somente leitura

 

A mensagem do evento.

ProcessInfo

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 do 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 do SQL Server atual. 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 conectar-se a um arquivo de log do SQL Server por meio da WMI, você deve ter as permissões a seguir 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 são localizados no caminho a seguir (onde <Unit> representa a unidade onde você instalou o SQL Server e <InstanceName> é o nome da instância do SQL Server):

    <Unit>:\Arquivos de Programas\Microsoft SQL Server\MSSQL11.<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 Connecting to WMI Remotely Starting with Windows Vista (em inglês).

Consulte também

Referência

Classe SqlErrorLogFile

Conceitos

Exibir arquivos de log offline