好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

查看SQLSERVER内部数据页面的小插件InternalsViewer

查看 SQLSERVER 内部 数据 页面 的小插件Internals Viewer 感觉internals viewer这个名字起得很好, 内部 查看 。 文章地址: SQL Server2008存储结构之堆表、行溢出 http://www.cnblogs.com/trams/archive/2010/09/11/1823727.html 这几天研究了一下这个小

查看 SQLSERVER 内部 数据 页面 的小插件Internals Viewer

感觉internals viewer这个名字起得很好, 内部 查看 。

文章地址:
SQL Server2008存储结构之堆表、行溢出

http://www.cnblogs.com/trams/archive/2010/09/11/1823727.html

这几天研究了一下这个小工具,发现挺好用的,对入想深入研究或者刚刚学SQLSERVER但是想对SQL有更深入了解的朋友们特别有用

先给出下载地址,这个是codeplex上的一个项目:

http://internalsviewer.codeplex.com/

我也上传到了自己的网盘,大家也可以到我的网盘下载:http://www.kuaipan.cn/file/id_4401224786924003.htm

InternalsViewerInstaller.msi 安装就不说了,直接双击安装,安装前最好先关闭SSMS

官方上说:可以用在SQL2005 SQL2008 ,我自己的电脑是SQL2005 Windows7可以使用

下载安装好之后,再打开SSMS,会看到SSMS的菜单增加了一个

点击Internals Viewer会有两个菜单: display transaction log 和 Allocation Map

不知道为什么display transaction log用不了,本人非常想知道 display transaction log 是什么功能

只好点击[Allocation Map] ,点击之后会弹出 连接对话框,大家选择验证方式连接就可以了不多说了

打开之后会看到如下图

上面几个按钮

选择要 查看 的 数据 库

PFS: 查看 数据 库的空闲 页面 情况

buffer pool:看下图

small:调整小方格的大小

key:是否显示 数据 库的表,如果不点击key下面不会显示表的

File Details:看上面那个图

小方格颜色的含义

点击某个小方格就会显示那个小方格的信息,每个小方格代表一个 页面

小方格的颜色是跟下面表格的颜色是一一对应的,表示这些表格 数据 在 数据 库中的分布情况

鼠标在小方格上移动会看到这个小方格属于哪个表

鼠标左键单击某个小方格会显示这个 页面 的信息

如果你想看某个表的 数据 ,你可以点击那个表,然后就会显示出那个表的 数据 分布情况,你点击某个小方格就可以看到那个表的 数据 了~

先从 数据 库的开头几个 页面 说起吧

数据 库第1页:file header page

数据 库第2页:PFS (Page Free Space) ,也叫 页面 自由空间,该 页面 用来跟踪一个文件中每一个特定 页面 的利用率情况

数据 库第3页:GAM 全局分配映射(Global Allocation Map,GAM) 页面 这些 页面 记录了哪些区已经被分配并用作何种用途

数据 库第4页:SGAM 共享全局分配映射(Shared Global Allocation Map,SGAM) 页面 这些 页面 记录了哪些区当前被用作混合类型的区,并且这些区需含有至少一个未使用的 页面

第5页没有 数据

第6页没有 数据

数据 库第7页:DCM 差异变更(Differential Changed Map,DCM) 页面 他跟踪一个文件中的哪一个区在最新一次完整 数据 库备份之后被修改过。SQLSERVER
用在增量备份时只对已发生 数据 变更的分区进行增量备份即可

资料: SQL Server 2008 存储结构之DCM、BCM

数据 库第8页:BCM 批量更改映射(Bulk Changed Map) 页面 ,该 页面 当文件中的一个区在最小量或批量日志操作中被
使用时用到。

数据 库第9页:sys.sysqnames 存在于每个 数据 库中。

4 字节 ID 标记的每个命名空间或限定名均存在对应的一行。

像dbcc checkprimaryfile命令的信息应该就存储于这个 页面 中

数据 库第10页:boot page 数据 库根据这个 页面 的信息来启动的

IAM 页面

下面那里写错了,应该是堆表才有

具体 页面 信息

每个小方格代表一个 页面 ,左边这些信息估计是使用了这两条语句: DBCC IND() DBCC PAGE()

下方显示对应的表 数据

左上角显示了这个 页面 是 数据 页还是IAM页

数据 行的结构

关于 数据 行的结构,大家可以看文章最开始给出的

文章地址: SQL Server2008存储结构之堆表、行溢出

http://www.cnblogs.com/trams/archive/2010/09/11/1823727.html

我摘抄一部分

IAM页和 数据 页的差别

堆表只依靠表里的IAM页(索引分配映射页)将堆的 页面 联系在一起,IAM里记录了 页面 编号, 页面 位置

红色的小方格就是记录了sys.syscolpars这张表他的 数据 页面 在 数据 库中的分布情况

关于这个软件

我点击了一下IAM 页面 下方的小方格就报错了,然后弹出一个对话框,原来这个软件使用 .NET 来编写的

我们国人什么时候也能够写一个呢?

----------------------------------------------------------------------------------------------------

最后附上各个系统 页面 的作用和详细介绍地址

PFS 页面 介绍: http://dev.21tx.com/2011/11/24/11378.html
DCM BCM 页面 介绍: http://tech.it168.com/a2010/0921/1106/000001106857.shtml
GAM SGAM 页面 介绍:http://www.efficient-it.com.cn/space/78/viewspace/itemid/6756.html

查看更多关于查看SQLSERVER内部数据页面的小插件InternalsViewer的详细内容...

  阅读:49次

上一篇: mysql热备

下一篇:Oracle存储过程