DBMS 2

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

이벤트 로그와 SQL Server 오류 로그 확인하기

DBMS 2
MS-SQL 가이드
트러블슈팅 가이드
이벤트 로그와 SQL Server 오류 로그 확인하기
작성자
admin
작성일
2021-02-19 11:07
조회
9329

이벤트 로그와 SQL Server 오류 로그 확인하기

장애나 오류가 발생하게 되면 문제를 올바르게 정의하기 위해서 가장 먼저 해야 하는 일은 윈도우즈 이벤트 로그와 SQL Server 오류 로그를 면밀히 검토하는 일입니다. 이벤트 로그에는 해당 시스템에서 발생한 하드웨어, 소프트웨어와 관련되는 이벤트들이 기록됩니다. 기본적으로 시스템로그, 보안 로그, 응용 프로그램 로그 세가지 종류로 기록되며, 시스템로그에는 운영체제의 이벤트들이 기록되고 보안로그에는 감사된 내용에 따라 로그온 시도, 개체 액세스 등 보안 이벤트들이 기록되며, 응용 프로그램 로그에는 응용 프로그램이나 사용자 프로그램에서 발생한 이벤트 및 정보들이 기록됩니다. SQL Server는 서비스가 시작되면서 발생한 중요한 사항을 윈도우즈 응용 프로그램 로그와 SQL Server 오류 로그에 기록합니다.

따라서, 하드웨어나 운영체제에서 발생한 오류 사항은 이벤트 로그에서 확인하고, SQL Server 자체에서 발생한 오류 사항은 SQL Server 오류 로그에서 가장 먼저 확인해야 합니다.

물론, 오류가 발생했다고 해서 항상 이벤트 로그나 SQL Server 오류 로그에 정보가 기록되는 것은 아닙니다.


(1) 이벤트 로그

이제 이벤트 로그를 통해서 운영체제나 SQL Server의 이벤트를 살펴 보겠습니다.

이벤트 로그


  1. 1) 이벤트 뷰어 시작하기

    방법① : 시작-->관리도구-->이벤트 뷰어를 클릭합니다.
    방법② : 시작-->실행 창에서 eventvwr.msc 입력한 후 엔터 키를 누릅니다.

  2. 2) 시스템 로그를 선택한 후 다음과 같이 필터를 선택합니다.

    시스템 로그 마우스 오른쪽 버튼-보기-필터선택

  3. 3) [이벤트 유형]의 정보, 경고, 오류 체크박스 가운데에서 검색하지 않고자 하는 부분은 택을 해제합니다. [이벤트 원본]에서 tcp/ip를 선택하고 [확인]버튼을 누릅니다.

    시스템 등록 정보 화면

  4. 4) 필터된 이벤트 중 오류 표시가 있는 이벤트를 더블클릭합니다. 다음의 경우는 IP 주소가 충돌이 발생했었다는 것을 보여주는 이벤트 로그입니다.

    이벤트 등록 정보 화면

  5. 5) 이제 응용 프로그램 로그부분을 살펴 보겠습니다.2)번과 3)번의 경우와 동일한 방법으로 필터의 [이벤트 원본]에서 SQLSERVER를 선택합 니다. 경고가 표시된 이벤트를 더블클릭하여 다음과 같은 메시지를 확인합니다.

    이벤트 등록 정보 화면

아마, 자주 본 메시지일 것입니다. 이 경우 해당 메시지를 복사해서 마이크로소프트 사이트 에서 해당 메시지에 대한 검색을 수행합니다.


  1. 1) 인터넷 익스플로러를 실행하고 http://support.microsoft.com/search/?adv=1 주소로 이동을 합니다.
  2. 2) 제품검색 입력란에 [SQL Server 2000]을 선택합니다.
  3. 3) 검색어 입력란에 이벤트 로그에서 확인한 메시지 또는 이벤트 ID를 입력합니다.

    실행 화면

    실행 화면

  4. 4) 검색된 자료 가운데 이벤트와 가장 관련이 있을 것으로 예상되는 문서를 순서대로 선택 하여 문서의 내용을 확인합니다.
  5. 5) 내용의 일부를 확인하면 다음과 같습니다.
    Microsoft SQL Server 2000 을 실행하는 컴퓨터에서 SQL Server 가 시작되면 SQL Server프로그램은 항상 Active Directory 에서 가상 서버를 등록하려고 합니다.
    Microsoft Windows NT 이벤트 로그에 다음과 같은 내용의 경고가 나타납니다.

    경고 SuperSocket 정보 : (SPNRegister): 오류 1355
    이벤트 카테고리 8
    이벤트 ID 19011

    이 메시지는 오류 메시지가 아닙니다. 이 텍스트는 SQL Server가 SPN(Service Principal Name)을 등록할 수 없음을 알리는 경고에 불과합니다.
    이것은 사용되는 보안 메커니즘이 Kerberos가 아닌 Microsoft Windows NT Challenge\Response(NTLM) 인증임을 나타냅니다.
(2) SQL Server 오류 로그
  1. 1) SQL Server 오류 로그 보기:

    방법① : 엔터프라이즈 관리자 -->관리 -->[SQL Server 로그] 선택
    방법② : 쿼리 분석기 --> EXEC sp_readerrorlog 로그 파일 번호
    방법③ : 쿼리 분석기 --> EXEC xp_readerrorlog 로그 파일 번호

    sql server 오류 로그 보기

  2. 2) SQL Server 오류 로그는 기본적으로 현재의 로그 파일 하나와 이전 6개의 오류 로그 파일을 유지합니다. 이것은 로그 파일들이 시간이 지남에 따라 덮어 씌어진다는 것을 의미하며 필요한 시점의 로그를 확인하지 못할 수도 있습니다. 따라서, SQL Server에서 발생한 이벤트들을 적절하게 보존하기 위해서는 오류 로그 파일의 개수를 늘려 줄 것을 권고합니다.

    오류 로그 파일 개수를 변경하려면 [SQL Server 로그]에서 오른쪽 버튼을 클릭한 다음에 [구성]을 선택하고 [오류 로그 파일의 최대 수] 부분에 원하는 수를 입력하면 됩니다.

    오류 로그 파일 개수를 변경

    오류 로그 파일 개수를 변경

  3. 3) SQL Server 서비스가 시작될 때마다 오류 로그 파일이 새로 만들어지기 때문에 정상 적인 경우에는 오류 로그 파일의 크기가 지나치게 커지지 않습니다. 그러나 오류가 발 생하게 되면 오류 파일이 수십~수백 메가 바이트 이상으로 커지기도 합니다. SQL Server 오류 로그 파일의 개수와 크기 정보는 xp_enumerrorlogs 확장 저장 프로 시저를 사용하여 가능합니다.
    오류 로그 파일의 크기가 지나치게 커진 경우에는 DBCC ERRORLOG 또는 sp_cycle_ errorlog 시스템 저장 프로시저를 실행하면 SQL Server를 재시작하지 않고 즉시 새로운 로그 파일을 생성할 수 있습니다.

    실행 화면

    오류 로그 파일의 크기가 지나치게 커진 경우에는 DBCC ERRORLOG 또는 sp_cycle_ errorlog 시스템 저장 프로시저를 실행하면 SQL Server를 재시작하지 않고 즉시 새로운 로그 파일을 생성할 수 있습니다.

    실행 화면

  4. 4) SQL Server 오류 로그의 내용은 다음과 같은 사항을 포함하고 있습니다.
    1. ① SQL Server 버전
    2. ② 운영체제 버전
    3. ③ 서비스 시작 시간
    4. ④ 서버 프로세스 ID
    5. ⑤ Error Log 파일 경로
    6. ⑥ 서버 실행 모드 (Thread/Fiber)
    7. ⑦ 수신 프로토콜 및 포트
    8. ⑧ 시스템 및 사용자 데이터베이스의 인스턴스 복구 프로세스 정보
    9. ⑨ 서버 옵션 변경 정보
    10. ⑩ SQL Server 에서 발생된 오류

    sql server 에서 발생된 오류



[참고]
SQL Server 오류 로그와 관련한 자세한 사항은 SQL Server DBA 가이드(전현경 저) 나 온라인 설명서를 참고하기 바랍니다.