Classe SqlErrorLogEvent

Aplica-se a: SQL Server

Fornece propriedades para visualizar eventos num ficheiro de registo específico do SQL Server.

Syntax

class SQLErrorLogEvent
{
    stringFileName;
    stringInstanceName;
    datetimeLogDate;
    stringMessage;
    stringProcessInfo;
};

Propriedades

A classe SQLErrorLogEvent define as seguintes propriedades.

Property Descrição
Nome do arquivo Tipo de dados: string

Tipo de acesso: Somente leitura

O nome do ficheiro do registo de erros.
Nome da Instância Tipo de dados: string

Tipo de acesso: Somente leitura

Qualificadores: Chave

O nome da instância do SQL Server onde reside o ficheiro de registo.
LogDate Tipo de dados: datetime

Tipo de acesso: Somente leitura

Qualificadores: Chave

A data e hora em que o evento foi registado no ficheiro de registo.
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ção sobre o ID da sessão de origem (SPID) do evento.

Observações

Tipo Nome
MOF - sqlmgmprovider.mof(SQL Server 2022 (16.x) e versões posteriores)
- sqlmgmproviderxpsp2up.mof(SQL Server 2019 (15.x) e versões anteriores)
DLL sqlmgmprovider.dll
Namespace \root\Microsoft\SqlServer\ComputerManagement10

Example

O exemplo seguinte mostra como recuperar valores para todos os eventos registados num ficheiro de registo especificado. Para executar o exemplo, substitua <Instance_Name> pelo nome da instância de SQL Server, como 'Instance1', e substitua 'File_Name' pelo nome do ficheiro de registo 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

Comments

Quando InstanceName ou FileName não são fornecidos na instrução WQL, a consulta devolve informação para a instância padrão e para o ficheiro de registo atual do SQL Server. Por exemplo, a seguinte instrução WQL devolve todos os eventos de registo do ficheiro de registo atual (ERRORLOG) na instância padrão (MSSQLSERVER).

"SELECT * FROM SqlErrorLogEvent"

Segurança

Para se ligar a um ficheiro de registo do SQL Server através do WMI, deve ter as seguintes permissões tanto no computador local como no remoto:

  • Acesso de leitura ao namespace Root\Microsoft\SqlServer\ComputerManagement10 WMI. Por padrão, todos têm acesso de leitura por meio da permissão Habilitar conta.

  • Permissão de leitura para a pasta que contém os registos de erro. Por defeito, os registos de erro estão localizados no seguinte caminho (onde <Drive> representa o disco onde instalou o SQL Server e <InstanceName> é o nome da instância do SQL Server):

    <Drive>:\Program Files\Microsoft SQL Server\MSSQL13.<NomeInstância>\MSSQL\Log

Se estiver a ligar-se através de um firewall, certifique-se de que está definida uma exceção no firewall para WMI em computadores alvo remotos. Para mais informações, consulte Ligação Remota ao WMI a partir do Windows Vista.