반응형

페이지 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_pages 테이블에서 손상된 페이지가 있는지 확이 한다.

 

Page_id 를 이용하여 페이지 정보를 확인 한다.

 

 

Metadata: Objectid 정보를 이용하여 오브젝트 네임을 조회 한다.

 

 

[참고자료]

http://www.sqlskills.com/blogs/paul/finding-table-name-page-id/?utm_source=rss&utm_medium=rss&utm_campaign=finding-table-name-page-id

 

2014-10-07 / 강성욱 / http://sqlmvp.kr

 

 

MSSQL, suspect, 주의 대상, 서스펙트, DB복구, DB관리, DBA,SQL Server, dbcc checkdb, pageID, 데이터베이스

반응형

+ Recent posts