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에 연결을 참조하세요.