Microsoft 將 Microsoft SQL Server 2008 SP2 或 Microsoft SQL Server 2008 R2 修正為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 SP2 或 SQL Server 2008 R2 修正程式版本中所包含的所有熱修復程式及所有安全修正程式。

徵狀

請試想下列案例:

  • 您的資料表或視圖在 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 中有兩個索引。 第一個索引後面有觸發程式。 不過,第二個索引沒有後面的觸發程式。

  • 第二個索引中的部分記錄包含資料列的版本資訊。 例如,您先前已啟用快照隔離功能來啟用資料行版本。

  • 您嘗試針對資料表或視圖執行 DML 查詢。

在這種情況下,您可能會遇到下列其中一種問題:

  • 出現宣告失敗,且在 SQL Server 錯誤記錄中記錄了下列錯誤:

    日期時間spid # 錯誤:17066,嚴重性:16,狀態:1。日期時間Spid # SQL Server Assertion:檔案: Pageref,line = 1332 失敗斷言 = ' 0 = = pageFull」。 此錯誤可能是與時間有關的。 如果在重新執行語句後發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新開機伺服器以確保記憶體中資料結構未損毀。日期時間spid # 錯誤:3624,嚴重性:20,狀態:1。日期時間 > spid # 系統斷言檢查已失敗。 如需詳細資訊,請參閱 SQL Server 錯誤記錄。 通常,宣告失敗是由軟體錯誤或資料損毀所導致。 若要檢查資料庫是否損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間將轉儲傳送至 Microsoft,則會將迷你轉儲傳送至 Microsoft。 您可以從 Microsoft 最新 Service Pack 中的 Microsoft 取得更新,或從技術支援取得 QFE。

  • 查詢會傳回不正確的結果。

  • 發生資料損毀問題。

原因

這個問題是由 SQL Server 查詢優化程式中的缺陷所造成。 當您執行產生觸發程式的 DML 查詢時,會設定不正確的列版本標誌,且 SQL Server 儲存引擎會使用舊的列版本資訊。 因此,在「症狀」一節中所述的問題就會發生。

解決方案

累積更新資訊

SQL Server 2008 R2

此問題的修正程式是在累積更新10中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2591746 SQL Server 2008 R2 的累積更新套件10 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建

SQL Server 2008 R2 Service Pack 1

此問題的修正程式是在 SQL Server 2008 R2 Service Pack 1 的累積更新3中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2591748 SQL Server 2008 R2 Service Pack 1 的累積更新套件3注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建

SQL Server 2008 Service Pack 2 (SP2)累計更新套件6

此問題的修正程式是在累積更新6中第一次發行。如需有關如何取得適用于 SQL Server 2008 Service Pack 2 的累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2582285 SQL Server 2008 的累積更新套件 6 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 Service Pack 2 的修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對翻譯品質的滿意度為何?
會影響您使用體驗的因素為何?

感謝您的意見反應!

×