페이지 ID로 테이블 이름 찾기
- Version : SQL Server 2005, 2008, 2008R2, 2012, 2014
손상된 페이지가 있을 때 어느 테이블의 손상인지 확인 하는 방법에 대해서 알아본다. 손상된 페이지가 있을 경우 일반적으로 DBCC CHECKDB를 실행하지만 데이터베이스가 TB 단위인 경우에는 이 문제를 파악하기 위해 몇 시간이 걸릴지도 모르는 일이다. 또 다른 확인 방법으로는 PAGELATCH_EX 대기를 보고 sys.dm_os_waiting_tasks 의 resource_description 정보를 이용하여 테이블 이름을 알아 낼 수도 있다.
suspect_pages 테이블의 데이터를 이용하여 테이블 이름을 확인해 보자. Suspect_page 테이블은 SQL Server 2005부터 도입 되었으며 주의 대상이 발생하였을 때 대상 페이지에 대한 정보를 유지 관리하는데 사용되며 복원이 필요한지 여부를 결정하는데 사용 된다.
- Suspect_page 테이블 이해 및 관리 : http://sqlmvp.kr/140195658538
Suspect_pages 테이블에서 손상된 페이지가 있는지 확이 한다.
Page_id 를 이용하여 페이지 정보를 확인 한다.
Metadata: Objectid 정보를 이용하여 오브젝트 네임을 조회 한다.
[참고자료]
강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp