徵狀
假設您嘗試使用大容量複製程式(BCP)公用程式,將來自 Microsoft SQL Server 2008 R2 實例的資料匯出至資料檔案。 不過,當 BCP 公用程式提取數個數據列時,就會發生錯誤。 例如,在 SQL Server 錯誤記錄中產生下列 "824" 錯誤:
日期時間 spid51 錯誤:824,嚴重性:24,狀態:2。 SQL Server 的日期時間 spid51 檢測到邏輯一致性 i/o 錯誤:不正確的 pageid (預期 1:43686; 實際0:0)。 在讀取頁面(1:43686)期間,在檔案 'FilePath\Filename」中的 [偏移 0x0000001554c000] 中的 [資料庫 ID 23] 中發生。 [SQL Server 錯誤記錄] 或 [系統事件記錄] 中的其他訊息,可能會提供更多詳細資料。 這是嚴重的錯誤狀況,會威脅資料庫完整性,必須立即修正。 完成完整資料庫一致性檢查(DBCC CHECKDB)。 此錯誤可能是由許多因素所造成;如需詳細資訊,請參閱 SQL Server 線上書籍。
在這種情況下,BCP 公用程式會錯誤地傳回值 "0",這表示資料匯出操作成功。注意這個問題只會影響 BCP 公用程式。 其他大量的插入方法會正確地處理錯誤訊息。
解決方案
累積更新資訊
SQL Server 2008 R2 Service Pack 2 (SP2)的累積更新5
此問題的修正程式是在累積更新5中第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 S2008 R2 SP2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2797460 SQL Server 2008 R2 的累積更新套件5(R2 S2008 R2 SP2)注意: 因為組建是累加的,所以每個新的修正版本都包含所有的修復程式,以及舊版 SQL Server 2008 R2 SP2 修正版本中所包含的所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需有關如何針對 SQL Server 中的 "824" 錯誤進行疑難排解的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2015756 如何針對 SQL Server 中的 Msg 824 進行疑難排解如需如何在 Microsoft SQL Server 2008 R2 中使用 BCP 公用程式的詳細資訊,請移至下列 MSDN 網站: