SQL Server「無法檢索文字」-如何解決?

SQL Server「無法檢索文字」-如何解決?

當 SQL Server 拋出權限錯誤(或其他作業系統錯誤)時,它通常會記錄以下形式的內容"Cannot open file {blah}. Operating system error 3 (failed to retrieve text for this message)"

這很簡單:是什麼阻止了 SQL Server 檢索錯誤文字?我假設這是某個地方的權限問題,但我不知道 SQL 使用什麼機制將作業系統錯誤代碼轉換為實際的文字訊息,以實際使其正常工作。

筆記:我不是問「如何修復初始錯誤」(只是以防萬一有人誤讀了問題)——這是「如何讓 SQL Server 成功地將作業系統錯誤號轉換為文本,這樣我就不必保留查找或記住作業系統錯誤編號的意思」。

這可能是其中之一那裡有一個答案,但它被所有詢問“作業系統錯誤意味著什麼”的問題淹沒了,而且我找不到正確的谷歌咒語...

答案1

有幾個原因可以解釋為什麼FormatMessage失敗:記憶體不足、區域設定問題或作業系統安裝損壞。 OOM 不會導致這種情況總是發生,錯誤訊息會正確顯示有時。區域設定不匹配會始終顯示此問題,損壞的作業系統安裝也是如此。鑑於您的 SQL 錯誤看起來像是美國英語,我假設您的 SQL 安裝是美國英語。您的作業系統安裝的是什麼語言?該資料夾是否%SystemRoot%\System32\en-US存在?怎麼樣%SystemRoot%\SysWOW64\en-US,SQL 實例是 32 位元安裝嗎?

相關內容