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 успешно преобразовать номер ошибки ОС в текст, чтобы мне не приходилось постоянно искать или запоминать, что означают номера ошибок ОС».

Это один из тех, которые, вероятно, естьявляетсяответ есть, но он тонет во всех вопросах «что означает ошибка ОС», и я не могу найти правильное заклинание в Google...

решение1

Есть несколько причин, по которымFormatMessageсбои: условия нехватки памяти, проблема с локалью или поврежденная установка ОС. OOM не всегда приводит к этому, сообщение об ошибке отображается правильноиногда. Несоответствие локали будет постоянно показывать эту проблему, как и поврежденная установка ОС. Учитывая, что ваша ошибка SQL на том, что похоже на американский английский, я предполагаю, что ваша установка SQL на американском английском. На каком языке установлена ​​ваша ОС? Существует ли папка %SystemRoot%\System32\en-US? Как насчет %SystemRoot%\SysWOW64\en-US, и является ли экземпляр SQL 32-разрядной установкой?

Связанный контент