2013-02-19 87 views
0

我有一个巨大的数据库,特别是一个表缺少行。我知道这是事实,但我需要找出差距并展示给大家。主键是序列号列。我需要显示实际丢失的序列号。该表有76,054,525行数据。SQL Server 2008查找缺少的行

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

+0

做一个自我加入并找到'NULL'? – Kermit 2013-02-19 20:04:26

+0

这里有一个类似的问题/答案:http://stackoverflow.com/questions/1057389/sql-query-to-find-missing-sequence-numbers – mellodev 2013-02-19 20:05:12

+3

@MichaelFredrickson你删除*拥抱* ... – Taryn 2013-02-19 20:08:33

回答

3

这是一个空白和孤岛问题,许多人已经写了关于如何解决这个问题。例如,Itzik Ben-Gan在SQL Server MVP深度潜水书chapter 5中报道了它。

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

+0

@billinkc,只是编辑自己添加Itziks书(章)。谢谢你改善我的答案。 – 2013-02-19 20:11:00

+1

你偷了我的答案,所以这是我能做的最少的;) – billinkc 2013-02-19 20:13:35