다음을 통해 공유


sp_readerrorlog(Transact-SQL)

적용 대상: SQL Server

SQL Server의 내용을 읽거나 오류 로그 파일을 SQL Server 에이전트 키워드를 필터링할 수 있습니다.

Transact-SQL 구문 표기 규칙

구문

sp_readerrorlog
    [ [ @p1 = ] p1 ]
    [ , [ @p2 = ] p2 ]
    [ , [ @p3 = ] N'p3' ]
    [ , [ @p4 = ] N'p4' ]
[ ; ]

인수

[ @p1 = ] p1

보려는 로그의 정수 값입니다. @p1 기본값0int입니다. 현재 오류 로그의 값은 .입니다 0. 이전은 1 (ERRORLOG.1), 이전의 값은 2(ERRORLOG.2)입니다.

[ @p2 = ] p2

로그를 보려는 제품의 정수 값입니다. @p2 기본값NULL인 int입니다. SQL Server 또는 2 SQL Server 에이전트 사용합니다1. 값을 지정하지 않으면 SQL Server 제품이 사용됩니다.

[ @p3 = ] N'p3'

오류 로그를 볼 때 필터링하려는 문자열의 문자열 값입니다. @p3 기본값NULL인 nvarchar(4000)입니다.

[ @p4 = ] N'p4'

오류 로그를 볼 때 검색을 더 구체화하기 위해 필터링하려는 추가 문자열의 문자열 값입니다. @p4 기본값NULL인 nvarchar(4000)입니다. 이 매개 변수는 첫 번째 문자열 검색 @p3 추가 필터를 제공합니다.

반환 코드 값

없음

결과 집합

요청된 오류 로그의 내용을 표시합니다. 필터 문자열을 사용하는 경우 해당 문자열과 일치하는 줄만 표시됩니다.

설명

SQL Server가 시작될 때마다 현재 오류 로그의 이름이 ERRORLOG.1로 바뀝니다. ERRORLOG.2 ERRORLOG.2ERRORLOG.3ERRORLOG.1 sp_readerrorlog 을 사용하면 파일이 있는 한 이러한 오류 로그 파일을 읽을 수 있습니다.

사용 권한

SQL Server 2019(15.x) 및 이전 버전에는 서버에 대한 VIEW SERVER STATE 권한이 필요합니다.

SQL Server 2022(16.x) 이상 버전에는 서버에 대한 VIEW ANY ERROR LOG 권한이 필요합니다.

예제

다음 예제에서는 SQL Server 오류 로그를 순환합니다.

A. 현재 SQL Server 오류 로그 읽기

EXECUTE sp_readerrorlog;

B. 이전 SQL Server 에이전트 오류 로그 표시

EXECUTE sp_readerrorlog 1, 2;

C. 데이터베이스가 시작 중임을 나타내는 로그 메시지 찾기

EXECUTE sp_readerrorlog 0, 1, 'database', 'start';