2011-05-11 51 views
4

我有死鎖圖,其中鎖定的資源被這三個字段DB ID,文件ID,頁面ID所提及。還有一些相關的目標。 我想知道的是該頁面屬於哪個表格。 我試過DBCC PAGE(dbid, fileid, pageid) with tableresults但沒有顯示任何表名。如何從MS SQL 2008中的數據庫ID,文件ID,頁面ID獲取表名?

任何想法如何得到這個?

更新:還試圖SELECT name From sys.indexes WHERE object_id = 123 and Index_id = 456 這裏123是m_objid(下ObjectId)和456是m_indexid(下IndexId),我得到作爲DBCC Page命令輸出。我所得到的是NULL。

回答

9

要想從DBCC PAGE結果,您必須啓用跟蹤標誌3604,否則結果去到SQL服務器日誌:

dbcc traceon (3604) 

然後嘗試命令

dbcc page (dbid, filenum, pagenum , 3) 

第四個參數是printopt

printopt參數的後續跟着 克的含義:

0 - print just the page header 
1 - page header plus per-row hex dumps and a dump of the page slot array 
    (unless it's a page that doesn't > have one, like allocation bitmaps) 
2 - page header plus whole page hex dump 
3 - page header plus detailed per-row interpretation 

定義從here

+0

完善。這工作!謝謝。 – Ankush 2011-05-11 07:57:27