SQL Server/SQL Server Tip

SQL Server ErrorLog 관리

SungWookKang 2015. 7. 17. 10:00
반응형

SQL Server ErrorLog 관리

SP_READERRORLOG, XP_READERRORLOG

 

  • Version : SQL Server 2005, 2008, 2008R2

 

DB를 운영하다 보면 데이터베이스에서 발생하는 여러가지 에러는 모두 에러로그에 기록 된다. (물론 사용자에 의해 남겨지는 에러도 있다.) 이때 에러로그를 확인 하는 방법과 에러로그를 관리하는 방법에 대해서 알아 보자.

 

SSMS를 실행하여 [개체 탐색기] – [관리]에 보면 다음과 같이 [SQL Server 로그]에 대해서 볼 수 있다.

 

 

보고 싶은 에러로그 목록에서 마우스 오른쪽을 클릭하여 [SQL Server 로그 보기]를 선택하여 로그를 확인 할 수 있다.

 

 

[SQL Server 로그 보기]를 선택하면 다음과 같이 로그뷰어 화면이 나타나며 로그 정보를 확인 할 수 있다. 이때 좌측의 로그리스트에서 체크박스를 복수 선택하여 많은 로그를 한번에 확인 할 수도 있다.

 

그렇다면 UI가 아닌 스크립트로 확인하는 방법을 알아 보자. 스크립트로 옵션을 잘 활용하면 UI보다 쉽고 편하게 에러로그를 확인 할 수 있다.

 

스크립트

설명

Xp_readerrorlog

현재 SQL Server Log 읽음

Xp_readerrorlog 3

SQL Server Log "Errorlog3" 읽음.

Xp_readerrorlog -1, 2

현재 SQL Server Agent Errorlog 읽음

Xp_readerrorlog 3, 2

SQL Server Agent Errorlog "Errorlog3" 읽음

Xp_readerrorlog -1, 2, 'ODBC'

문자열 "ODBC"가 있는 로그를 읽음

Xp_readerrorlog -1, 2. 'ODBC', 'JEVIDA'

AND 조건으로 문자열 "ODBC" 와 "JEVIDA" 로그 읽음

 

LogType : 1 = SQL Server Log, 2 = SQL Server Agent Log, 3 = Full Text Log

Xp_readerrorlog -1, 1, NULL, NULL, '2012-10-29', '2012-10-30', ['ASC'|'DESC'] : 2012-10-29일부터 2012-10-30일 까지 오름차순(내림차순)으로 로그 검색.

 

에러 로그를 관리 하는 방법에는 기본적으로 사용하고 있는 로그 외에 6개의 히스토리로 관리 된다. 이는 서비스가 재시작 되거나 서버가 재부팅 되었을 때 로그가 사이클링 되기 때문에 만약 예기치 못하게 서비스 또는 서버가 재시작 되었다면 과거의 로그를 확인 할 수 없다.

 

 

옵션을 통하여 로그보관 개수를 늘리도록 하자.

[SQL Server 로그]에서 마우스 오른쪽을 클릭하여 [구성]을 선택 한다.

 

 

[SQL Server 오류 로그 구성]창이 나타나면 아래 그림처럼 체크 표시를 해제하고 로그 파일 개수를 수정한다. 최소 6~ 최대 99개 까지 가능하다.

 

 

실습을 위해 50으로 설정하고 확인을 클릭한다. 쿼리 창을 실행하여 다음과 같이 쿼리를 입력하여 실행하자.

exec sp_cycle_errorlog

위의 구문은 에러로그를 자르는 기능이다. (새로운 로그를 기록한다는 뜻이다.)

여러 번 반복해서 실행하여 보자. 아래 그림과 같이 로그가 새로 생성되는 것을 확인 할 수 있다. 현재 수정된 값이 50 이므로 50개의 로그까지는 보관이 가능한 것을 확인 할 수 있다.

 

 

유능한 DBA라면 에러로그를 주기적으로 확인하여 SQL Server에 이상이 없는지 확인해야 한다. 에러로그를 너무 작게 설정하여 미처 확인하지 못하는 에러가 없도록 미리 에러 로그의 개수를 늘려 관리 하도록 하자.

 

참고 링크 :

http://laigo.kr/474

http://mssqlwiki.com/tag/sp_readerrorlog-parameters/

 

 

2012-10-30 / 강성욱 / http://sqlmvp.kr

 

반응형