KB2413430 - 修正:在 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 中使用 ONLINE 選項重建索引時,出現「無法找到版本記錄,且頁面未分配」錯誤訊息

Applies To
Microsoft SQL Server 2005 Enterprise Edition SQL Server 2008 Enterprise SQL Server 2008 R2 Enterprise

Microsoft 會發佈 Microsoft SQL Server 2005、Microsoft SQL Server 2008 和 Microsoft SQL Server 2008 R2 修正程式作為一個可下載的檔案。 由於修正程式是累積的,因此每個新版本都包含先前的 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 版本中包含的所有 Hotfix 和所有安全性修正程式。

症狀

請考慮以下案例:

  • 您可以在 Microsoft SQL Server 2005、Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 資料庫上啟用ALLOW_SNAPSHOT_ISOLATION選項。
  • 您在資料表上執行版本設定作業。 例如,您更新資料表。
  • 停用資料庫上的快照隔離層級。
  • 您更新記錄上包含版本設定資訊的索引索引欄。
  • 您重建資料表上的線上索引。

在此案例中,會發生判斷提示錯誤,且您會在 SQL Server 錯誤記錄檔中收到下列訊息:

注意

<Date><Time><spid> * BEGIN STACK DUMP:
<日期><時間<>spid> *<日期><時間><spid>
<日期><時間><spid> *
<日期><時間><spid> * 位置:AppendOnlyVerStoreMgr.cpp:731
<日期><時間><spid> * 運算式:0
<日期><時間<>spid> * SPID:<spid>
<日期><時間><spid> * 處理序識別碼:6328
<日期><時間><spid> * 描述:找不到版本記錄,且未配置頁面。 狀態 = 3
<日期><時間><spid> *
<日期><時間><spid> * 輸入緩衝區 170 位元組 -
<Date><Time<>spid> * ALTER INDEX <Table Name> ON INDEX <> REBUILD WITH (O
<日期><時間><spid> * NLINE = ON)

      

原因

發生此問題的原因是,新索引鍵記錄的版本設定資訊是從舊的索引鍵記錄中複製而來。 因此,重建索引時便會發生錯誤。

解決方式

累積更新資訊

SQL Server 2008 R2

                
此問題的修正程式最初在累積更新 5 中發行。 如需有關如何取得 SQL Server 2008 R2 的累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2438347 SQL Server 2008 R2 的累積更新套件 5 注意:由於組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前 SQL Server 2008 R2 修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

SQL Server 2005 Service Pack 4

此問題的修正程式最初在 SQL Server 2005 Service Pack 4 的累積更新 1 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2464079 SQL Server 2005 Service Pack 4 的累積更新套件 1 注意 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些都包含在上一個 SQL Server 2005 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2485757 SQL Server 2005 Service Pack 4 發行之後所發行的 SQL Server 2005 組建Microsoft是為特定 SQL Server Service Pack 建立 SQL Server 2005 Hotfix。 您必須將 SQL Server 2005 Service Pack 4 Hotfix 套用至 SQL Server 2005 Service Pack 4 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2005 SP3

此問題的修正程式最初在累積更新 12 中發行。 如需有關如何取得此 SQL Server 2005 SP3 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2345449 累積更新套件 12 適用於 SQL Server 2005 Service Pack 3 注意: 由於組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前的 SQL Server 2005 SP3 修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

960598 發行 SQL Server 2005 Service Pack 3 之後所發行的 SQL Server 2005 組建

SQL Server 2008 Service Pack 1

此問題的修正程式最初在 SQL Server 2008 Service Pack 1 的累積更新 11 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2413738 SQL Server 2008 Service Pack 1 累積更新套件 11 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式都包含在上一個 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 發行 SQL Server 2008 Service Pack 1 之後所發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 會針對特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 1 Hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2008 Service Pack 2

此問題的修正程式最初在 SQL Server 2008 Service Pack 2 的累積更新 2 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2467239 SQL Server 2008 Service Pack 2 累積更新套件 2 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式都包含在上一個 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 SQL Server 2008 Service Pack 2 發行之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 2 Hotfix 套用至 SQL Server 2008 Service Pack 2 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

因應措施

若要解決此問題,請將查詢中的 ONLINE 選項設為 OFF,以重建此資料庫的索引。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

如需有關線上索引作業的詳細資訊,請造訪下列 Microsoft 網站:

索引作業的一般相關資訊

如需有關線上索引作業詳細資訊的詳細資訊,請造訪下列 Microsoft 網站:

線上索引作業的詳細描述