Назад | Перейти на главную страницу

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 ...

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