Suspect_pages 테이블 이해 및 관리
- Version : SQL Server 2005, 2008, 2008R2, 2012
Suspect_pages 테이블은 SQL Server 2005부터 도입되었으며 msdb 데이터베이스에 위치한다. 주의대상이 발생하였을 때 대상 페이지에 대한 정보를 유지 관리하는데 사용되며 복원이 필요한지 여부를 결정하는데 사용 된다.
SQL Server 데이터베이스 엔진에서 데이터 페이지를 읽으려고 할 때 다음 오류 중 하나가 발생하면 페이지가 "주의대상"으로 간주 된다.
- 디스크 오류(특정 하드웨어 오류)와 같이 운영체제에서 실행되는 CRC(순환 중복 검사)로 인해 발생하는 823 오류
- 조각난 페이지(논리적 오류)와 같은 824 오류
데이터베이스 엔진에서 다음과 같이 정상적인 처리 중에 발생하는 모든 주의대상 페이지는 suspect_pages 테이블에 기록된다.
- 쿼리에서 페이지를 읽어야 하는 경우
- DBCC CHECKDB 작업이 수행중인 경우
- 백업 작업이 수행중인 경우
복원작업, DBCC 복구 작업, 데이터베이스 삭제 작업 동안 필요한 경우 suspect_gapes 테이블이 업데이트 된다. suspect_pages 테이블은 824 오류가 발생하여 실패한 페이지당 하나의 행을 포함하며 최대 1000행까지 보관된다.
오류 설명 | Event_type 값 |
운영체제 CRC 오류로 인해 발생하는 823 오류 또는 잘못된 체크섬이나 조각난 페이지 이외의 824 오류(예 : 잘못된 페이지 ID) | 1 |
잘못된 체크섬 | 2 |
조각난 페이지 | 3 |
복원됨(페이지가 잘못된 것으로 표시된 후 복원됨) | 4 |
복구됨(DBCC가 페이지를 복구함) | 5 |
DBCC에 의해 할당 취소됨 | 7 |
다음 동작을 수행하면 suspect_pages 테이블에서 행이 자동으로 삭제 된다.
- ALTER DATABASE REMOVE FILE
- DROP DATABASE
- DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS는 suspect_pages 테이블을 업데이트하여 할당 취소되었거나 복구된 각 페이지를 표시한다.
- RESTORE도 이 목록을 업데이트 한다. 전체, 파일 또는 페이지 복원을 수행하면 페이지 항목이 복원된 것으로 표시된다.
[suspect_pages 테이블의 일부 행을 삭제]
'Select restored, repaired, or deallocated pages.' DELETE FROM msdb..suspect_pages WHERE (event_type = 4 OR event_type = 5 OR event_type = 7); GO |
[suspect_pages 테이블에서 잘못된 페이지 검색]
'Select nonspecific 824, bad checksum, and torn page errors.' SELECT * FROM msdb..suspect_pages WHERE (event_type = 1 OR event_type = 2 OR event_type = 3); GO |
DBA는 데이터를 관리 해야 하는 의무와 책임이 있기에 이 테이블이 꽉 차지 않도록 수동으로 지우거나 따로 관리 테이블에 백업하는 방식을 고민해야 한다. Suspect_pages 테이블에 추가되는 행이 갑자기 증가하는 경우 I/O 하위 시스템에 문제가 있는지 조사해 보도록 하자.
[참고자료]
- 823, 824, 825, 832 DISK IO 오류 : http://sqlmvp.kr/140192235193
- 디스크 커럽션 : http://sqlmvp.kr/140191790612
2013-08-21 / 강성욱 / http://sqlmvp.kr
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SSMS 폴링 간격 구성 (2) | 2015.07.22 |
---|---|
Deadlock 감지하여 알림하기 (0) | 2015.07.22 |
SSRS SocketException (0) | 2015.07.22 |
파티션 분할 시 I/O 최소화 하기 (0) | 2015.07.22 |
대량 BCP 작업 시 발생하는 오류 (665, 1450, 33) (0) | 2015.07.22 |