
SQL Server에서 권한 오류(또는 기타 OS 오류)가 발생하면 일반적으로 다음 형식의 내용을 기록합니다 "Cannot open file {blah}. Operating system error 3 (failed to retrieve text for this message)"
.
그것은 간단합니다. SQL Server가 오류 텍스트를 검색하는 것을 중단시키는 것은 무엇입니까? 어딘가에 권한 문제가 있다고 가정하지만 SQL이 OS 오류 코드를 실제 텍스트 메시지로 변환하여 실제로 작동하도록 하기 위해 어떤 메커니즘을 사용하는지 모르겠습니다.
메모:나는 "초기 오류를 어떻게 수정합니까?"(누군가가 질문을 잘못 읽은 경우를 대비하여)를 묻는 것이 아닙니다. 이것은 "SQL Server에서 OS 오류 번호를 텍스트로 성공적으로 변환하여 계속 유지할 필요가 없도록 하려면 어떻게 해야 합니까?"입니다. OS 오류 번호의 의미를 찾거나 기억합니다."
이것은 아마도 거기에있는 것 중 하나입니다~이다거기에 답변이 있지만 "OS 오류는 무엇을 의미합니까?"를 묻는 모든 질문에 빠져 있으며 올바른 Google 주문을 찾을 수 없습니다.
답변1
몇 가지 이유가 있습니다.FormatMessage
실패: 메모리 부족 상태, 로케일 문제 또는 손상된 OS 설치. OOM으로 인해 이런 일이 항상 발생하는 것은 아니며 오류 메시지가 올바르게 표시됩니다.때때로. 로캘 불일치로 인해 이 문제가 지속적으로 발생하며 손상된 OS 설치에서도 마찬가지입니다. 귀하의 SQL 오류가 미국 영어와 유사하다는 점을 고려하면 귀하의 SQL 설치가 미국 영어라고 가정합니다. OS 설치 언어는 무엇입니까? 폴더가 %SystemRoot%\System32\en-US
존재합니까? 은(는) 어떻습니까 %SystemRoot%\SysWOW64\en-US
? SQL 인스턴스는 32비트 설치입니까?