Microsoft 將 Microsoft SQL Server 2008 R2 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 R2 修正程式版本中所包含的所有修復程式及所有安全性修正程式。
徵狀
在 Microsoft SQL Server 2008 R2 中,當您嘗試復原資料庫時,資料庫會標示為置疑。 此外,SQL Server 2008 R2 錯誤日誌檔案中還會記錄下列斷言錯誤:
<日期> <時間> <SPID> 錯誤:17066、嚴重性:16、State: 1. <日期> <> <SPID> SQL Server Assertion: File: <> m_freeCnt、line = 4953 失敗斷言 = ' >+ emptySlots * sizeof (槽) = spaceNeeded "。 此錯誤可能是與時間有關的。 如果在重新執行語句後發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新開機伺服器以確保記憶體中資料結構未損毀。
注意: 發生這個問題時,您必須從備份還原資料庫,才能從問題中復原。
發生這個問題的原因是,在您復原資料庫時,頁面可能沒有足夠的空間。 任何參與 線上索引重建 作業或 收縮資料庫 作業的執行緒,都可以壓縮新頁面。 如果頁面沒有足夠的空間,就會發生斷言錯誤。
解決方案
累積更新資訊
此問題的修正程式是在累積更新7中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2489376 SQL Server 2008 R2 的累積更新套件7 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。