您目前已離線,請等候您的網際網路重新連線

錯誤訊息 823 可能表示硬體問題或在 SQL Server 的系統問題

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:828339
徵狀
如果您收到下列錯誤訊息,就表示可能發生 Microsoft SQL Server 2000年偵測到硬體或系統發生問題時就已讀取或寫入資料庫檔案:
錯誤 823
I/O 錯誤錯誤> 期間偵測到作業> 在位移位移> 檔案中 '檔案>'

注意錯誤訊息的格式是在 Microsoft SQL Server 2005年及更新版本中稍有不同。不過,相同的概念和討論區也適用於這些版本也。如要疑難排解此問題,在 SQL Server 2005 和更新版本,請參閱下列 KB

2015755: 如何疑難排解在 SQL Server 中的訊息 823 錯誤

如需有關不同部分的這則訊息,例如錯誤> 和作業>,並獲得的 SQL Server 2000年所做的 Microsoft Windows API 呼叫使用的相關資訊,請參閱本文 〈 其他資訊 〉 一節。
解決方案
SQL Server 2000年會引發下列情況成立時,會將本文 「 徵狀 」 一節中提到的錯誤:
  • 作業系統錯誤: A 讀取 Windows API 呼叫或 writeWindows API 呼叫不成功,以及 SQL Server 發生 operatingsystem 錯誤相關的程式至 Windows API 呼叫。下列的 errormessage 是作業系統錯誤 823 的範例:
    2003-07-28 09:01:27.38 spid75 錯誤: 823,高的嚴重性等級: 月 24 日
    狀態: 2
    2003-07-28 09:01:27.38 spid75 I/O 錯誤 1117年 (requestcould 不會執行因為) 期間讀取 atoffset 0x0000002d460000 檔案中偵測到 ' e:\program 必要 SQLServer\mssql\data\mydb。 I/O 裝置錯誤。MDF'
    除了作業系統錯誤 6 ("控制代碼無效 」),823errors 都可能會報告作業系統錯誤相關的基礎系統發生問題或硬體問題。如果作業系統錯誤發生,即使 DBCC CHECKDB 陳述式微處理器報告問題,您可能可以配合硬體廠商、 systemadministrator,或是 Microsoft 產品支援服務,如果要解決這個問題。

    附註 您可能會或可能看不到的 DBCC CHECKDB 陳述式錯誤的錯誤訊息中的檔案與相關聯的資料庫。當您看到 823 錯誤時,您可以無誤 DBCC CHECKDB 陳述式。如果 DBCC CHECKDBstatement 不報告任何錯誤,您可能有間歇性的 systemproblem 或磁碟發生問題。
  • I/O 邏輯檢查失敗: 如果讀取 Windows API 呼叫或 awrite 資料庫檔案的 Windows API 呼叫成功,但特定 logicalchecks 的資料都不成功 (損毀頁,例如)、 引發 823 erroris。下列的錯誤訊息是錯誤 823 的我的範例 / Ological 檢查失敗:
    2003-09-05 16:51:18.90 spid17Error: 823,高的嚴重性等級: 月 24 日
    狀態: 2
    2003-09-05 16:51:18.90 spid17 我 / Oerror (損毀頁) 在讀取時偵測到的位移 file'F:\SQLData\mydb 的 0x00000094004000。MDF'.
    要解決這個問題,請先在 errormessage 中的檔案與相關聯的資料庫上執行 DBCCCHECKDB 陳述式。如果 DBCC CHECKDB 陳述式會回報錯誤,請更正這些疑難排解這個問題的 errorsbefore。如果問題持續發生,即使 theDBCC CHECKDB 錯誤都被修正,或者如果 DBCC CHECKDB 陳述式微處理器報告任何錯誤,檢閱 Microsoft Windows NT 系統事件日誌以取得 anysystem 錯誤或與磁碟相關錯誤訊息。您也可以連絡您的硬體 vendorto 執行任何適當的診斷。
其他相關資訊

錯誤訊息的詳細資料

下列 823 的錯誤訊息的部分會更詳細地描述如下:
錯誤 823
I/O 錯誤錯誤> 期間偵測到作業> 在位移位移> 檔案中 '檔案>'
823 的錯誤訊息資訊可以更詳細地解釋:
  • 錯誤>: 這可以是 anoperating 的系統錯誤或邏輯的 I/O 檢查失敗。作業系統錯誤編號為作業系統的 systemerror,遵循 「 I/O 錯誤。一樣系統錯誤文字包含在括號之後 「 I/O 錯誤錯誤號碼."

    為邏輯的 I/O checkfailure,失敗的訊息是在括號內,並可以是其中一個 ︰:
    • (損毀的頁): 如需有關損毀頁的詳細資訊,請參閱 SQL Server 2000年線上叢書 》。
    • (錯誤的頁面 ID): 這個訊息表示頁面標頭中的分頁識別碼不是從磁碟中讀取的預期的頁。例如,如果 SQL Server 2000年還提供位移是個邏輯頁面 100 的資料庫檔案 1 的檔案,該 8 KB 分頁的頁面標頭中的分頁識別碼應該是 1: 100 比例尺。如果不是,錯誤分頁識別碼包含在邏輯 I/O 檢查失敗的訊息。
    • (傳送的位元組不足): 這個問題會指示 Windows API 呼叫成功,但已傳輸的位元組是未預期的。
  • <operation>: 這是讀取或寫入。</operation>
  • <offset>: 這是實體的位元組位移,從 thestart 的檔案。這個數字除以 8192 會提供您受到錯誤邏輯 pagenumber。</offset>
  • <file>: 這是 theI/O 問題與相關聯的檔案,其中包括它的完整實體路徑。</file>

SQL Server I/O 與 Windows API

SQL Server 2000年會使用標準的 Windows API 呼叫,例如 ReadFile、 ReadFileScatter、 WriteFile 和 WriteFileGather,來執行與它的資料庫檔案的 I/O。當 SQL Server 2000年使用 Windows API 呼叫時,該檔案的開啟已經成功,或 SQL Server 2000年不會嘗試從佇列讀取或寫入它。因此,如果 Windows API 呼叫不成功,如果錯誤是作業系統錯誤 6 ("無效處理 」) 以外的物件引發錯誤時可能被 Windows 中或裝置驅動程式的較低層級軟體元件所。因為作業系統錯誤 6 是無效的控制代碼,如果 SQL Server 會使用無效的控制代碼來進行呼叫 Windows API,就可能會發生這個問題。不過,這仍可能是系統發生問題。

例如,如果您遇到下列錯誤訊息在 SQL Server 錯誤記錄檔中的,SQL Server 時發生作業系統錯誤 2 寫入tempdb主要資料庫檔案的情況下,它在使用 Windows API 呼叫:
錯誤: 823,高的嚴重性等級: 24,狀態: 4
2 (系統無法找到指定的檔案) 偵測到 I/O 錯誤期間寫入的位移 0x00000000284000 檔案中 'D:\Program 必要 SQL Server\MSSQL\data\tempdb.mdf'
因為 SQL Server 已經順利開啟檔案,而且不會收到 「 無效處理 」 的錯誤,所以是可能被較低層級核心軟體元件,例如檔案系統或裝置驅動程式中引發的錯誤。這個問題並不表示 SQL Server 中的問題,必須為檔案系統或裝置驅動程式與檔案相關聯的問題進行調查。
参考
當您使用追蹤旗標 818 SQL Server 錯誤記錄檔可能會寫入 823 錯誤的其他診斷資訊。 如其他有關這項資訊的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
826433 PRB: 其他 SQL Server 診斷來偵測未回報的 I/O 問題加入
SQL Server 需要支援 「 保證的傳遞到穩定媒體 」,在 Microsoft SQL Server Always-On 存放裝置解決方案檢閱程式之下所述的系統。Fo如需有關 SQL Server 資料庫引擎的輸入與輸出需求的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
967576 Microsoft SQL Server 資料庫引擎輸入/輸出需求

警告:本文為自動翻譯

內容

文章識別碼:828339 - 最後檢閱時間:04/28/2015 21:18:00 - 修訂: 1.0

Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 2000 Analysis Services, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Enterprise Evaluation Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Reporting Services, Microsoft SQL Server 2000 Standard Edition

  • kbprb kbmt KB828339 KbMtzh
意見反應
ent.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">