数据丢失找捷定数据恢复中心

解析dbcc page显示的含义

sql数据库使用dbcc page显示的内容解析其含义。 这个命令很重要,是我用的最多的一个命令之一。

dbcc traceon(3064)
dbcc page(northwind,1,100,1)
go
=========================
数据文件的页面结构(管理页面 比较重要)
0 文件头页面 1 PFS页面 2 GAM页面 3 SGAM页面 6 DCM页面 7 BCM页面
一个GAM和一个SGAM可以管理4GB的数据空间
==========================
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
PAGE: (1:100)
-------------
BUFFER:
-------
内存中页面的管理信息
BUF @0x19217B80--内存中页号
---------------
bpage = 0x19A3C000(对应物理页面) bhash = 0x00000000(hash) bpageno = (1:100)(对应物理文件的页面号)
bdbid = 6 (对应的数据库ID) breferences = 0 bstat = 0x9
bspin = 0 bnext = 0x00000000
PAGE HEADER:
------------
页头:96字节
Page @0x19A3C000
----------------
m_pageId = (1:100)(页号) m_headerVersion = 1 m_type = 1
m_typeFlagBits = 0x0 m_level = 0 (索引级别) m_flagBits = 0x8000
m_objId = 2041058307(对应表ID) m_indexId = 0 m_prevPage = (0:0)
m_nextPage = (0:0) pminlen = 8 m_slotCnt = 8(页面中数据的行数,八行)
m_freeCnt = 7504 (空余空间) m_freeData = 672 (空余空间偏移量,已用空间数) m_reservedCnt = 0
m_lsn = (4:270:16) m_xactReserved = 0 m_xdesId = (0:0)
m_ghostRecCnt = 0 m_tornBits = 1
Allocation Status
-----------------
GAM (1:2) = ALLOCATED (管理盘区位于第三个页面编号2) SGAM (1:3) = ALLOCATED(管理混合盘区位于第四个页面编号是三 )
PFS (1:1) = 0x60 MIXED_EXT ALLOCATED 0_PCT_FULL DIFF (1:6) = CHANGED
ML (1:7) = NOT MIN_LOGGED
DATA:
-----
Slot 0, Offset 0x60
-------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c060: 00080030 00000001 03000004 35002500 0............%.5
19a3c070: 42804580 76006500 72006500 67006100 .E.B.e.v.e.r.a.g
19a3c080: 73006500 87000000 00000000 00005f00 .e.s........._..
19a3c090: 01000100 88000000 00000000 00005f00 ............._..
19a3c0a0: 03000100 00 .....
Slot 1, Offset 0xa5
-------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c0a5: 00080030 00000002 03000004 37002700 0............'.7
19a3c0b5: 43804780 6e006f00 69006400 65006d00 .G.C.o.n.d.i.m.e
19a3c0c5: 74006e00 00007300 00008900 5f000000 .n.t.s........._
19a3c0d5: 01000000 00000500 00008a00 5f000000 ..............._
19a3c0e5: 01000000 000700 .......
Slot 2, Offset 0xec
-------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c0ec: 00080030 00000003 03000004 39002900 0............).9
19a3c0fc: 43804980 6e006f00 65006600 74006300 .I.C.o.n.f.e.c.t
19a3c10c: 6f006900 73006e00 8b000000 00000000 .i.o.n.s........
19a3c11c: 00005f00 09000100 8c000000 00000000 ._..............
19a3c12c: 00006900 01000100 00 .i.......
Slot 3, Offset 0x135
--------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c135: 00080030 00000004 03000004 3f002f00 0............/.?
19a3c145: 44804f80 69006100 79007200 50002000 .O.D.a.i.r.y. .P
19a3c155: 6f007200 75006400 74006300 00007300 .r.o.d.u.c.t.s..
19a3c165: 00008d00 5f000000 01000000 00000a00 ......._........
19a3c175: 00008e00 5f000000 01000000 000b00 ......._.......
Slot 4, Offset 0x184
--------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c184: 00080030 00000005 03000004 3f002f00 0............/.?
19a3c194: 47804f80 61007200 6e006900 2f007300 .O.G.r.a.i.n.s./
19a3c1a4: 65004300 65007200 6c006100 00007300 .C.e.r.e.a.l.s..
19a3c1b4: 00008f00 5f000000 01000000 00000c00 ......._........
19a3c1c4: 00009000 6c000000 01000000 000100 .......l.......
Slot 5, Offset 0x1d3
--------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c1d3: 00080030 00000006 03000004 3b002b00 0............+.;
19a3c1e3: 4d804b80 61006500 2f007400 6f005000 .K.M.e.a.t./.P.o
19a3c1f3: 6c007500 72007400 00007900 00009100 .u.l.t.r.y......
19a3c203: 69000000 01000000 00000400 00009200 ...i............
19a3c213: 69000000 01000000 000500 ...i.......
Slot 6, Offset 0x21e
--------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c21e: 00080030 00000007 03000004 31002100 0............!.1
19a3c22e: 50804180 6f007200 75006400 65006300 .A.P.r.o.d.u.c.e
19a3c23e: 93000000 00000000 00006900 06000100 .........i......
19a3c24e: 94000000 00000000 00007200 01000100 .........r......
19a3c25e: 00 .
Slot 7, Offset 0x25f
--------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19a3c25f: 00080030 00000008 03000004 31002100 0............!.1
19a3c26f: 53804180 61006500 6f006600 64006f00 .A.S.e.a.f.o.o.d
19a3c27f: 95000000 00000000 00006900 07000100 .........i......
19a3c28f: 96000000 00000000 00006900 08000100 .........i......
19a3c29f: 00 .
OFFSET TABLE:
-------------
Row - Offset 96(页头)+(672-96)(数据空间)+7504(空余空间)+16(行偏移指针数组)=8192(页面大小)
8190-8191 slot0
...
... 行偏移数组
8176-8177 slot7
672-8175 空余空间
7 (0x7) - 607 (0x25f) 607-671
6 (0x6) - 542 (0x21e) 542-606
5 (0x5) - 467 (0x1d3) 467-541
4 (0x4) - 388 (0x184) 388-466
3 (0x3) - 309 (0x135) 309-387
2 (0x2) - 236 (0xec) 236-308
1 (0x1) - 165 (0xa5) 165-235
0 (0x0) - 96 (0x60) 96-164
0-95 pageheader
www.raidcn.com 数据恢复
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
============================================
create table demodb1..table10(
id int not null,
name char(5) not null,
address char(10) null)
select * from demodb1..sysindexes
where id=object_id('demodb1..table10')
============================================
id status first indid root minlen keycnt groupid dpages reserved used rowcnt rowmodctr reserved3 reserved4 xmaxlen maxirow OrigFillFactor StatVersion reserved2 FirstIAM impid lockflags pgmodctr keys name statblob maxlen rows
----------- ----------- -------------- ------ -------------- ------
1977058079 0 0x000000000000 0 0x000000000000 23 0 1 0 0 0 0 0 0 0 40 0 0 0 0 0x000000000000 -1 0 0 NULL table10 NULL 8000 0
无数据 first为指向第一列或者根页的指针。
=============================================
insert into demodb1..table10(id,name,address)values(1,'abcde','suzhou')
=================================
id status first indid root minlen keycnt groupid dpages reserved used rowcnt rowmodctr reserved3 reserved4 xmaxlen maxirow OrigFillFactor StatVersion reserved2 FirstIAM impid lockflags pgmodctr keys name statblob maxlen rows
----------- ----------- -------------- ------ -------------- ------ ------
1977058079 0 0x0F0000000100 0 0x0F0000000100 23 0 1 1 2 2 1 1 0 0 40 0 0 0 0 0x190000000100 -1 0 0 NULL table10 NULL 8000 1
first 0x0F 编号十五页
=================================
create table table11(id int,name text)
select * from demodb1..sysindexes
where id=object_id('demodb1..table11')
insert into demodb1..table11 values(1,'boyi55')
=================================
id status first indid root minlen keycnt groupid dpages reserved used rowcnt rowmodctr reserved3 reserved4 xmaxlen maxirow OrigFillFactor StatVersion reserved2 FirstIAM impid lockflags pgmodctr keys name statblob maxlen rows
----------- ----------- -------------- ------ -------------- ------
1993058136 0 0x1E0000000100 0 0x1E0000000100 8 0 1 1 2 2 1 1 0 0 43 0 0 0 0 0x1F0000000100 -1 0 0 NULL table11 NULL 8000 1
1993058136 2 0x1C0000000100 255 0x1C0000000100 0 0 1 0 2 2 0 0 0 0 0 0 0 0 0 0x1D0000000100 -1 0 0 NULL ttable11 NULL 8000 0
first 0x1E 编号三十页
first 0x1C 编号二十八页

=====================
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
PAGE: (1:30)
------------
BUFFER:
-------
BUF @0x192192C0
---------------
bpage = 0x19AF6000 bhash = 0x00000000 bpageno = (1:30)
bdbid = 7 breferences = 1 bstat = 0xb
bspin = 0 bnext = 0x00000000
PAGE HEADER:
------------
Page @0x19AF6000
----------------
m_pageId = (1:30) m_headerVersion = 1 m_type = 1
m_typeFlagBits = 0x0 m_level = 0 m_flagBits = 0x8000
m_objId = 1993058136 m_indexId = 0 m_prevPage = (0:0)
m_nextPage = (0:0) pminlen = 8 m_slotCnt = 1
m_freeCnt = 8063 m_freeData = 127 m_reservedCnt = 0
m_lsn = (5:49:1) m_xactReserved = 0 m_xdesId = (0:0)
m_ghostRecCnt = 0 m_tornBits = 0
Allocation Status
-----------------
GAM (1:2) = ALLOCATED SGAM (1:3) = ALLOCATED
PFS (1:1) = 0x61 MIXED_EXT ALLOCATED 50_PCT_FULL DIFF (1:6) = CHANGED
ML (1:7) = NOT MIN_LOGGED
Slot 0 Offset 0x60
------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19af6060: 00080030 00000001 01000002 00801f00 0...............
19af6070: 0000c900 1c000000 01000000 000000 ...............
id = 1
name = [TextPointer]
------------------------------------------------
TextTimeStamp = 13172736 RowId = (1:28:0)
指针指向页号28.

DBCC 执行完毕。如果 DBCC 输出了错误信息,数据恢复请与系统管理员联系。
==============================
sp_tableoption table11,'text in row',1000
update table11 set name='boyi55555' where id =1

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
PAGE: (1:30)
------------
BUFFER:
-------
BUF @0x192192C0
---------------
bpage = 0x19AF6000 bhash = 0x00000000 bpageno = (1:30)
bdbid = 7 breferences = 4 bstat = 0xb
bspin = 0 bnext = 0x00000000
PAGE HEADER:
------------
Page @0x19AF6000
----------------
m_pageId = (1:30) m_headerVersion = 1 m_type = 1
m_typeFlagBits = 0x0 m_level = 0 m_flagBits = 0x8000
m_objId = 1993058136 m_indexId = 0 m_prevPage = (0:0)
m_nextPage = (0:0) pminlen = 8 m_slotCnt = 1
m_freeCnt = 8070 m_freeData = 127 m_reservedCnt = 7
m_lsn = (5:52:5) m_xactReserved = 7 m_xdesId = (0:188)
m_ghostRecCnt = 0 m_tornBits = 0
Allocation Status
-----------------
GAM (1:2) = ALLOCATED SGAM (1:3) = ALLOCATED
PFS (1:1) = 0x61 MIXED_EXT ALLOCATED 50_PCT_FULL DIFF (1:6) = CHANGED
ML (1:7) = NOT MIN_LOGGED
Slot 0 Offset 0x60
------------------
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
19af6060: 00080030 00000001 01000002 62001800 0..............b
19af6070: 3569796f 35353535 oyi55555
id = 1
********************************************************
name = [BLOB Inline Data]
-----------------------------------------------------
19af606f: 69796f62 35353535 35 boyi55555
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
=============================================
DBCC EXTENTINFO得到属于一个对象的所有盘区的列表
dbcc traceon(3604)
dbcc extentinfo(northwind,categories)

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
file_id page_id pg_alloc ext_size obj_id index_id pfs_bytes
----------- ----------- ----------- ----------- ----------- ----------- ------------------
1 98 1 1 2041058307 1 0x6000000000000000
1 100 1 1 2041058307 1 0x6000000000000000
1 389 1 1 2041058307 2 0x6000000000000000
1 95 1 1 2041058307 255 0x6200000000000000
1 97 1 1 2041058307 255 0x6400000000000000
1 103 1 1 2041058307 255 0x6400000000000000
1 104 1 1 2041058307 255 0x6400000000000000
1 105 1 1 2041058307 255 0x6200000000000000
1 106 1 1 2041058307 255 0x6400000000000000
1 107 1 1 2041058307 255 0x6400000000000000
1 108 1 1 2041058307 255 0x6200000000000000
1 112 4 8 2041058307 255 0x4444424400000000
(所影响的行数为 12 行)
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
page_id对应于obj_id
dbcc traceon(3604)
dbcc extentinfo(northwind)
用法:DBCC EXTENTINFO(dbname,tablename,indexid

当你遇到数据丢失情况时,为了避免更严重损坏,应立即停止操作,咨询专业数据恢复人员。
咨询电话: 021-31265210

捷定数据恢复中心 | 网站首页 - 介质送修流程 - 修复所需费用 - 站内地图 - 友情链接 - 联系我们