SqlErrorLogEvent 클래스

적용 대상: SQL Server

지정된 SQL Server 로그 파일에서 이벤트를 보기 위한 속성을 제공합니다.

구문

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

속성

SQLErrorLogEvent 클래스는 다음 속성을 정의합니다.

속성 설명
FileName 데이터 형식: 문자열

액세스 형식: 읽기 전용

오류 로그 파일의 이름입니다.
InstanceName 데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: Key

로그 파일이 있는 SQL Server 인스턴스의 이름입니다.
LogDate 데이터 형식: datetime

액세스 형식: 읽기 전용

한정자: Key

이벤트가 로그 파일에 기록된 날짜와 시간입니다.
Message 데이터 형식: 문자열

액세스 형식: 읽기 전용

이벤트 메시지입니다.
ProcessInfo 데이터 형식: 문자열

액세스 형식: 읽기 전용

이벤트에 대한 SPID(원본 서버 프로세스 ID)에 대한 정보입니다.

설명

Type 속성
MOF - sqlmgmprovider.mof (SQL Server 2022(16.x) 이상 버전)
- sqlmgmproviderxpsp2up.mof (SQL Server 2019(15.x) 및 이전 버전)
DLL sqlmgmprovider.dll
네임스페이스 \root\Microsoft\SqlServer\ComputerManagement10

예시

다음 예에서는 지정된 로그 파일에서 로깅된 모든 이벤트의 값을 검색하는 방법을 보여 줍니다. 예제를 실행하려면 Instance_Name> 'Instance1'과 같은 SQL Server 인스턴스의 이름으로 바꾸고 'File_Name'을 오류 로그 파일의 이름(예: '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

설명

WQL 문에 InstanceName 또는 FileName이 제공되지 않으면 쿼리는 기본 인스턴스 및 현재 SQL Server 로그 파일에 대한 정보를 반환합니다. 예를 들어 다음 WQL 문은 기본 인스턴스(MSSQLSERVER)의 현재 로그 파일(ERRORLOG)에서 모든 로그 이벤트를 반환합니다.

"SELECT * FROM SqlErrorLogEvent"

보안

WMI를 통해 SQL Server 로그 파일에 연결하려면 로컬 컴퓨터와 원격 컴퓨터 모두에서 다음 권한이 있어야 합니다.

  • Root\Microsoft\SqlServer\ComputerManagement10 WMI 네임스페이스에 대한 읽기 권한입니다. 기본적으로 모든 사용자는 계정 사용 권한으로 읽기 액세스합니다.

  • 오류 로그가 포함된 폴더에 대한 읽기 권한입니다. 기본적으로 오류 로그는 다음 경로에 있습니다(여기서 <드라이브>는 SQL Server를 설치한 드라이브를 나타내고 <InstanceName>은 SQL Server 인스턴스의 이름임).

    <드라이브>:\Program Files\Microsoft SQL Server\MSSQL13 .<InstanceName>\MSSQL\Log

방화벽을 통해 연결하는 경우 원격 대상 컴퓨터의 WMI에 대한 방화벽에 예외가 설정되어 있는지 확인합니다. 자세한 내용은 Windows Vista를 사용하여 원격으로 WMI에 연결을 참조하세요.

참고 항목