解剖SQLSERVER 完结篇 关于Internals Viewer源代码

原文:解剖SQLSERVER 完结篇 关于Internals Viewer源代码

解剖SQLSERVER 完结篇 关于Internals Viewer源代码

大家可能都用过Internals Viewer这个软件

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

但是不知道有多少人看过他的源代码呢?

作者把源代码放在在CodePlex网站上面,但是这个源代码只支持SQL2008及以下,不支持SQL2008R2

后来有人根据原作者的代码改写出了 SQL2008R2版本,叫做《Internals Viewer (updated) for SQL Server 2008 R2.

我把第一版和第二版源代码都下载下来了

代码下载

第一版:http://files.cnblogs.com/lyhabc/internalsviewer1.rar

第二版:http://files.cnblogs.com/lyhabc/intview2.rar

项目地址

第一版:http://internalsviewer.codeplex.com/

第二版:https://intview2.codeplex.com/



Internals Viewer第一版源代码

在看源代码之前,我觉得大家应该要看一下CodePlex上面的评论,以发现软件的漏洞和错误

还有各版本的变化

在解决方案里面,SSMS插件项目和UI项目可以直接忽略,如果你只想研究核心代码的话

关于事务日志,在项目里只有三个类:LogData类、LogMonitor类、LogSequenceNumber类

大家可以结合技术内幕的书籍研究一下

数据压缩相关的类,由于注释较少,可能比较难理解

稀疏列

前转记录

非聚集索引RID地址



Internals Viewer第二版源代码  这里姑且叫他第二版

在第二版里面由于知名度不及第一版,自然基本上没有多少人知道,也就没有什么评论和bug反馈

第二版的结构和文件基本跟第一版一样,只是有些地方不同

这里不再做介绍了,大家可以用对比工具对比一下

这系列已经写完了,但是任务还没有结束,SQLSERVER是一个非常庞大的软件,基本上精通SQLSERVER非常难

希望看官喜欢这系列文章o(∩_∩)o

时间: 2024-10-19 07:05:20

解剖SQLSERVER 完结篇 关于Internals Viewer源代码的相关文章

解剖SQLSERVER 第一篇 数据库恢复软件商的黑幕

解剖SQLSERVER 第一篇  数据库恢复软件商的黑幕 这一系列,我们一起来解剖SQLSERVER 在系列的第一篇文章里本人可能会得罪某些人,但是作为一位SQLSERVER MVP,在我的MVP任期内希望可以对大家作出一些贡献 在第一篇里面涉及到某些内容可能不会以详细的方式给出截图并且和大家讲解,毕竟第一篇的篇幅比较长,希望大家见谅.. 在第一篇文章开始之前,先说三个题外话 第一个题外话  更新丢失 首先要做的事情是,跟大家道歉 在之前<SQLSERVER走起>的微信公众帐号里推送了一篇文章

解剖SQLSERVER 第九篇 OrcaMDF现在能通过系统DMVs显示元数据(译)

原文:解剖SQLSERVER 第九篇 OrcaMDF现在能通过系统DMVs显示元数据(译) 解剖SQLSERVER 第九篇  OrcaMDF现在能通过系统DMVs显示元数据(译) http://improve.dk/orcamdf-now-exposes-metadata-through-system-dmvs/ 我坐在去丹麦的火车上,参加在北欧的SQL RALLY会议的最后一站.在演讲的过程中,我根据OrcaMDF 的工作比较含蓄地宣布了OrcaMDF可以读取元数据 现在,我也不妨在这里分享.

解剖SQLSERVER 第二篇 对数据页面头进行逆向(译)

解剖SQLSERVER 第二篇  对数据页面头进行逆向(译) http://improve.dk/reverse-engineering-sql-server-page-headers/ 在开发OrcaMDF 的时候第一个挑战就是解析数据页面头部,我们知道数据页面分两部分,96字节的页面头部和8096字节的数据行 大神 Paul Randal 写了一篇文章很好的描述了页头结构,然而,即使文章描述得很详细,但是我还是找不出任何关于页头存储的格式 每一个字段的数据类型和他们的顺序 我们可以使用DBC

解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译)

原文:解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译) 解剖SQLSERVER 第七篇  OrcaMDF 特性概述(译) http://improve.dk/orcamdf-feature-recap/ 时间过得真快,这已经过了大概四个月了自从我最初介绍我的宠物项目OrcaMDF. 自从项目开始到现在,OrcaMDF发生了很多变化,功能更强了,因此我想提供一个概述对目前OrcaMDF的功能的概述以及我对OrcaMDF未来的计划 页面类型 OrcaMDF 当前支持以下页面的数据完整解

解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译)

原文:解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译) 解剖SQLSERVER 第十篇  OrcaMDF Studio 发布+ 特性重温(译) http://improve.dk/orcamdf-studio-release-feature-recap/ 自从我上次作了一个OrcaMDF特性概述之后,两个半月过去了. 只是两个半月过去了自从我上次一个OrcaMDF特性概述.从那时起我一直在忙着参加SQLSERVER的最顶级的三个会议:SQLBits.SQLPA

解剖SQLSERVER 第六篇 对OrcaMDF的系统测试里避免regressions(译)

原文:解剖SQLSERVER 第六篇 对OrcaMDF的系统测试里避免regressions(译) 解剖SQLSERVER 第六篇  对OrcaMDF的系统测试里避免regressions (译) http://improve.dk/avoiding-regressions-in-orcamdf-by-system-testing/ 当我继续添加新功能和新的数据结构支持进去OrcaMDF软件的时候,bug的风险不断增加 特别是当我开发一个很大的未知功能时,我不能预估结构和该结构的关联,为了降低风

解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译)

解剖SQLSERVER 第十五篇  SQLSERVER存储过程的源文本存放在哪里?(译) http://improve.dk/where-does-sql-server-store-the-source-for-stored-procedures/ 目前我正在扩展OrcaMDF Studio的功能 不单只支持系统表,DMVs 和用户表 而且也要支持存储过程.那很容易,我们只需要查询sys.procedures --或者查询sys.sysschobjs, 因为当SQLSERVER没有在运行的时候我

解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译)

解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译) http://improve.dk/orcamdf-rawdatabase-a-swiss-army-knife-for-mdf-files/ 当我最初开始开发OrcaMDF的时候我只有一个目标,比市面上大部分的书要获取MDF文件内部的更深层次的知识 随着时间的推移,OrcaMDF确实做到了.在我当初没有计划的时候,OrcaMDF 已经可以解析系统表,元数据,甚至DMVs.我还做了一个简单U

解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译)

原文:解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译) 解剖SQLSERVER 第八篇  OrcaMDF 现在支持多数据文件的数据库(译) http://improve.dk/orcamdf-now-supports-databases-with-multiple-data-files/ OrcaMDF 其中一个最新特性是支持多数据文件的数据库.这在解析上面需要作出相关的小改变,实际上大部分都是bug 修复代码 由于之前只支持单个数据文件而引起的.然而这确实需要一