2013-02-19 85 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