checkpoint가 발생될 수 있는 조건이 갖추어 지면
자동으로 checkpoint가 발생하여 commit되지 않은 페이지가 disk에 모두 기록됩니다.
(checkpoint에 대한 자세한 내용은 BOL을 참조하세요.)
SQL Server 서비스의 shutdown시에도 checkpoint가 발생하게 되는대요.
비정상적인 종료로 인해 checkpoint가 발생하지 않은 경우는
다음 start up 시에 다음과 같은 복구과정을 거치게 됩니다.
(1/3) - analyze
(2/3) - rollforward
(3/3) - rollback
2/3 또는 3/3 과정에 처리해야할 transaction이 많은 경우는
이 과정이 1시간 이상 소요되어 서비스에 지장을 초래할 수도 있으니
24*7 를 요하는 곳에서는 중요한 issue가 될 수도 있습니다.
따라서, checkpoint는 SQL Server의 중요한 activity중 하나입니다.
ERRORLOG를 통해서 이 checkpoint가 언제 발생하는지 확인이 가능합니다.
/*
How to know when a checkpoint was occured
2006-02-02
Gi Whan Han
*/
--xp_readerrorlog undocumented extended procedure was used to read a errorlog
EXEC master..xp_readerrorlog
--make the checkpoint is logged to ERRORLOG
DBCC TRACEON (3502)
--execute checkpoint manually
checkpoint
-- 2006-02-02 14:06:40.64 spid53 DBCC TRACEON 3502, 서버 프로세스 ID(SPID) 53입니다.
-- 2006-02-02 14:07:48.27 spid53 Ckpt dbid 7 started (100000)
-- 2006-02-02 14:07:48.31 spid53 Ckpt dbid 7 phase 1 ended (100000)
-- 2006-02-02 14:07:48.42 spid53 Ckpt dbid 7 complete
--execute checkpoint manually
checkpoint
-- 2006-02-02 14:08:17.07 spid53 Ckpt dbid 7 started (100000)
-- 2006-02-02 14:08:17.10 spid53 Ckpt dbid 7 phase 1 ended (100000)
-- 2006-02-02 14:08:17.12 spid53 Ckpt dbid 7 complete
--make the checkpoint is not logged to ERRORLOG
DBCC TRACEOff (3502)
--2006-02-02 14:09:17.92 spid53 DBCC TRACEOFF 3502, 서버 프로세스 ID(SPID) 53입니다.
checkpoint
--No scripts were logged
'연구개발 > SQL2005' 카테고리의 다른 글
SQL2005 저장프로시져 모니터하기 (0) | 2011.07.20 |
---|---|
COUNT Vs EXISTS (0) | 2011.07.18 |
Cross Apply를 이용한 그룹별 Top N 질의 (0) | 2011.07.18 |
SQL Server 2008 설치시 Visual studio tools for applications 2.0 관련 에러를 해결하는 방법 (0) | 2011.07.18 |
SSMS에서의 System.Security.Cryptography.CryptographicException 에러 (0) | 2011.07.18 |