MS SQL 서버의 에러 및 작업의 결과 등은 SQL Server 로그에 기록이 됩니다. 이 SQL Server 로그는 [그림 1] 처럼 EM에서 확인하는 것이 일반적입니다.
1. EM에서 SQL Server 로그 확인

[그림 1]
하지만 EM을 사용하는 방법 외에도 xp_readerrorlog 저장 프로시저를 이용해서 SQL Server 로그를 확인 할 수 있습니다.
2. xp_readerrorlog 를 이용한 SQL Server 로그 확인
QA에서 다음과 같이 xp_readerrorlog 저장 프로시저를 수행하면 됩니다.
|
EXEC master.dbo.xp_readerrorlog |
수행 결과는 다음과 같습니다.
|
ERRORLOG ContinuationRow --------------------------------------------------------------------------------------------------- 2003-12-10 00:52:33.12 server Microsoft SQL Server 2000 - 8.00.194 (Intel X86) 0 Aug 6 2000 00:57:48 0 Copyright (c) 1988-2000 Microsoft Corporation 0 Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 1) 0 2003-12-10 00:52:33.12 server Copyright (C) 1988-2000 Microsoft Corporation. 0 2003-12-10 00:52:33.12 server All rights reserved. 0 2003-12-10 00:52:33.12 server 서버 프로세스 ID는 636입니다. 0 2003-12-10 00:52:33.12 server 'C:Program FilesMicrosoft SQL ServerMSSQLlogERRORLOG' 파일에 SQL Server 메시지를 기록하는 중입니다. 0 2003-12-10 00:52:33.16 server SQL Server가 우선 순위 클래스 ''normal''(1 CPU 검색)에서 시작합니다. 0 2003-12-10 00:52:33.60 server SQL Server가 thread 모드 처리를 위해 구성되었습니다. 0 2003-12-10 00:52:33.62 server dynamic 잠금 할당을 사용하는 중입니다. [500] 잠금 블록, [1000] 잠금 소유자 블록. 0 2003-12-10 00:52:33.65 spid3 'master' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 00:52:34.28 server 'SSNETLIB.DLL' 버전 '8.0.194'을(를) 사용하는 중입니다. 0 2003-12-10 00:52:34.29 spid5 'model' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 00:52:34.33 spid3 서버 이름은 'FUTURE'입니다. 0 2003-12-10 00:52:34.33 spid3 Skipping startup of clean database id 4 0 2003-12-10 00:52:34.33 spid3 Skipping startup of clean database id 5 0 2003-12-10 00:52:34.33 spid3 Skipping startup of clean database id 6 0 2003-12-10 00:52:34.33 spid3 Skipping startup of clean database id 7 0 2003-12-10 00:52:34.88 spid5 tempdb 데이터베이스를 지우는 중입니다. 0 2003-12-10 00:52:36.20 spid5 'tempdb' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 00:52:36.50 spid3 복구가 완료되었습니다. 0 2003-12-10 00:52:37.08 server SQL Server가 TCP, Shared Memory, Named Pipes에서 수신 중입니다. 0 2003-12-10 00:52:37.08 server SQL Server가 169.254.16.36:1433, 211.212.105.77:1433, 127.0.0.1:1433에서 수신 중입니다. 0 2003-12-10 00:52:37.08 server SQL Server에서 클라이언트에 연결할 수 있습니다. 0 2003-12-10 00:52:42.86 spid51 'xpstar.dll' 버전 '2000.80.194'을(를) 사용하여 확장 저장 프로시저 'sp_MSgetversion'을(를) 실행합니다. 0 2003-12-10 00:52:42.97 spid51 'msdb' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 00:52:46.67 spid51 'db003218' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 00:52:47.01 spid51 'Northwind' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 00:52:47.46 spid51 'pubs' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 01:03:01.42 spid52 'db003218' 데이터베이스를 시작하는 중입니다. 0 2003-12-10 01:03:03.10 spid52 'db003218' 데이터베이스를 시작하는 중입니다. 0
(32개 행 적용됨)
|
SQL Server 로그는 기본적으로 6개의 파일에 이전의 로그가 백업되어 보관됩니다. 이 6개의 로그를 확인하고자 하는 경우는 그 번호를 지정하면 됩니다. 만일 3번째 로그 파일을 보고자 하는 경우는 다음과 같이 하면 됩니다.
|
EXEC master.dbo.xp_readerrorlog 3 |
3. 정리
EM을 수행하지 않고 QA에서 SQL Server 로그를 확인 할 수 있는 방법을 설명 드렸습니다. 이 방법을 응용해서 여러가지 작업을 할 수 있습니다. 예를 들면 로그를 테이블에 기록을 할 수도 있고, 그 결과를 가지고 MS SQL 서버가 언제 재시작 되었는지도 확인이 가능합니다. 이러한 활용 방법은 각자 고민을 해보시기 바랍니다.