로그가 잘리지 않으면, 활성로그, 복제로그 시퀀스, checkpoint, TF(3505)
등을 살펴봐야 한다.
활성로그 + 복제는
-----------------------------------------
dbcc opentran
TF 는
-----------------------------------------
dbcc tracestatus (-1)
결과중 3505가 있으면 수동 검사점 제어가 동작중이다.
3502 는 검사점 정보를 log 로 남긴다.
checkpoint lsn 은
-----------------------------------------
dbcc traceon(3604)
dbcc dbinfo ('tempdb') with tableresults
-- 결과 중 아래를 보면,
DBINFO @0x000000000A46D900 dbi_checkptLSN m_fSeqNo 77
DBINFO @0x000000000A46D900 dbi_checkptLSN m_blockOffset 145
DBINFO @0x000000000A46D900 dbi_checkptLSN m_slotId 8
혹은 boot page 를 확인하면 되는데,
DBCC PAGE ('tempdb', 1, 9, 3) with tableresults;
DBINFO @0x000000000A46A060 dbi_checkptLSN m_fSeqNo 77
DBINFO @0x000000000A46A060 dbi_checkptLSN m_blockOffset 145
DBINFO @0x000000000A46A060 dbi_checkptLSN m_slotId 8
혹은 테스트로 데이터베이스 로그가 작다면 다음과 같은 방법도 사용 될 수 있겠다.
SELECT
[Current LSN]
, [Previous LSN]
, Operation
, [Checkpoint Begin]
, [Checkpoint End]
FROM fn_dblog(NULL, NULL)
WHERE operation IN ( 'LOP_BEGIN_CKPT', 'LOP_END_CKPT')
위 결과를 바탕으로 현재의 로그를 검사해 보자면,
dbcc loginfo (tempdb)
결과중 아래를 보면 Status 가 2인 77 번 FSeqNo 를 확인 할 수 있다.
FileId FileSize StartOffset FSeqNo Status Parity CreateLSN
2 13041664 8192 77 2 64 0 <------------- 활성
2 13041664 13049856 0 0 0 0
2 13041664 26091520 0 0 0 0
2 13295616 39133184 0 0 0 0
이 외 다양한 정보를 dbcc dbinfo 를 통해 얻을 수 있다.
예를 들면 db 가 처음 생성된 버전 dbi_createVersion
현재의 버전 dbi_version
가장 오래된 백업 lsn 등등등
참고로 내부 데이터 버전은 다음을 다음과 같이 정의된다.
SQL Server (70) 7.0 databases have version number 515
SQL Server (80) 2000 databases have version number 539
SQL Server (90) 2005 databases have version number 611/612
SQL Server (10) 2008 databases have version number 655
SQL Server (10.5) 2008 R2 databases have version number 661
TRACEFLAG 3512
Description ='Write info on log space used at checkpoint time to errorlog'
TRACEFLAG 3502
Description ='Send checkpoint state changes to errorlog'
TRACEFLAG 3504
Description ='Send checkpoint summary to errorlog ,Displays number of pages written and other stats'
Make sure this TF 3505 is not enabled which TF 3505Allows checkpointing to be dynamically disabled'