SQL Server 2008 查找丢失的行 [重复]

Posted

技术标签:

【中文标题】SQL Server 2008 查找丢失的行 [重复]【英文标题】:SQL Server 2008 finding missing rows [duplicate] 【发布时间】:2013-02-19 20:01:24 【问题描述】:

我有一个巨大的数据库,特别是一个表缺少行。我知道这是真的,但我需要找到差距并展示出来。主键是序号列。我需要显示实际缺少的序列号。此表有 76,054,525 行数据。

更新,序列号由我们的软件提供,每一个都代表一个唯一的“播放”记录。我们的软件不允许播放序列号中的间隙。任何差距都会丢失数据。

【问题讨论】:

进行自我加入并找到NULL? 这是一个类似的问题/答案:***.com/questions/1057389/… @MichaelFredrickson 你删除了拥抱... @bluefeet 有人讨厌拥抱。 为什么需要显示缺失的序列号?你为什么在乎? 【参考方案1】:

这是一个差距和孤岛问题,很多人都写过如何解决这个问题。例如,Itzik Ben-Gan 在 SQL Server MVP Deep Dives 一书中的chapter 5 中介绍了它

但是,您为什么担心身份列中的空白?那是自然发生的事情,无法避免。你可以在这里阅读更多信息:http://sqlity.net/en/792/the-gap-in-the-identity-value-sequence/

【讨论】:

@billinkc,我自己只是在进行编辑以添加 Itziks 书(章节)。感谢您改进我的回答。 你偷了我的答案,所以这是我能做的至少;)

以上是关于SQL Server 2008 查找丢失的行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 R2:查找 column2 值存在于 column1 中的行

SQL Server 2008 视图正在丢失默认值

SQL:两个数据库,都有包含公共值列的表。如何查找丢失的行

从 excel 导入数据时防止 SQL Server 2008 中的行重复

安装SQL SERVER 2008,出现“查找sql server 2008安装媒体”的问题

SQL Server 2008 将两个表合并为一个但得到重复的行