两个具有不同大小但相同数据集的数据库之间可能存在差异

时间:2014-03-06 05:41:14

标签: sql sql-server database

我使用liquibase更新了MSSQL Server 2008R2中的两个数据库。 它们都是从同一个数据库开始的,但是有一个通过几个liquibase更新,直到最后一个逐步增加,另一个直接进入最终更新。

所以我检查过它们具有相同的架构,相同的数据集,但它们的.mdf文件大小相差10GB。

我可以调查哪些方面(最好也提供SQL命令)调查可能给我10GB差异的内容(例如索引?未使用的空格?等等)

我不是想让它们变得一样(所以没有Shrink),我只是想找出导致这个10GB尺寸差异的地方。所以我会接受像使用HEX编辑器打开mdf文件并逐字节比较的答案,但我需要知道我在看什么。

谢谢

1 个答案:

答案 0 :(得分:1)

数据库的内部结构(物理组织,而不是逻辑数据)在设计上和由于影响数据创建,更新和访问方式的真实场景而不透明。

在大多数情况下,实际上并不知道为什么两个逻辑上等效的数据库在物理层面上是不同的。它是已删除对象,不平衡页面,基于磁盘的临时表,垃圾收集历史以及许多其他潜在原因的组合。

简而言之,您永远不会期望物理数据库与其包含的逻辑数据为1:1。