查看SQLSERVER内部数据页面的小插件Internals Viewer
查看 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
我摘抄一部分
其中状态A为如下说明:
bit0:版本信息,在SQL Server 2005/08总是为0
bit1-3: 0=(primary record);1=(forwarded record);2=(forwarding stud);3=(index record);4=(溢出数据);5=(ghost索引记录);6=(ghost数据记录)
bit4:表示存在NULL位图(在数据行里SQL2005/08总存在NULL位图)
bit5:表示存在变长列
bit6:未启用
bit7:表示存在幽灵记录
本例中30->00110000 它是一个行属性的位图 从高位存到低位(右边第一位是bit0),bit4为1即存在变长列的字段,因为在SQLServer2005/2008中总存在NULL位图,所以bit5也为1。
状态位B在SQLServer2005//2008中未启用,所以为00
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

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

对于 SQL Server 数据库中已存在同名对象,需要采取以下步骤:确认对象类型(表、视图、存储过程)。如果对象为空,可使用 IF NOT EXISTS 跳过创建。如果对象有数据,使用不同名称或修改结构。使用 DROP 删除现有对象(谨慎操作,建议备份)。检查架构更改,确保没有引用删除或重命名的对象。

导入步骤如下:将 MDF 文件复制到 SQL Server 的数据目录(通常为 C:\Program Files\Microsoft SQL Server\MSSQL\DATA)。在 SQL Server Management Studio(SSMS)中,打开数据库并选择“附加”。单击“添加”按钮,选择 MDF 文件。确认数据库名称,点击确定按钮即可。

当 SQL Server 服务无法启动时,可采取以下步骤解决:检查错误日志以确定根本原因。确保服务帐户具有启动服务的权限。检查依赖项服务是否正在运行。禁用防病毒软件。修复 SQL Server 安装。如果修复不起作用,重新安装 SQL Server。

要查看 SQL Server 端口号:打开 SSMS,连接到服务器。在对象资源管理器中找到服务器名称,右键单击它,然后选择“属性”。在“连接”选项卡中,查看“TCP 端口”字段。

SQL Server 数据库文件通常存储在以下默认位置:Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data可通过修改数据库文件路径设置来自定义数据库文件位置。

若误删 SQL Server 数据库,可采取以下步骤恢复:停止数据库活动;备份日志文件;检查数据库日志;恢复选项:从备份恢复;从事务日志恢复;使用 DBCC CHECKDB;使用第三方工具。请定期备份数据库并启用事务日志以防止数据丢失。

在iPhone上面临滞后,缓慢的移动数据连接?通常,手机上蜂窝互联网的强度取决于几个因素,例如区域、蜂窝网络类型、漫游类型等。您可以采取一些措施来获得更快、更可靠的蜂窝互联网连接。修复1–强制重启iPhone有时,强制重启设备只会重置许多内容,包括蜂窝网络连接。步骤1–只需按一次音量调高键并松开即可。接下来,按降低音量键并再次释放它。步骤2–该过程的下一部分是按住右侧的按钮。让iPhone完成重启。启用蜂窝数据并检查网络速度。再次检查修复2–更改数据模式虽然5G提供了更好的网络速度,但在信号较弱

如果 SQL Server 安装失败,可通过以下步骤清理:卸载 SQL Server删除注册表项删除文件和文件夹重启计算机
