[SQL 2005] 서버 "__"에 대한 복원이(가) 실패했습니다. (System.Data.SqlClient.SqlError) (운영체제 오류 2, 3, 5)
오류
서버 "__"에 대한 복원이(가) 실패했습니다. (Microsoft.SqlServer.Smo)
System.Data.SqlClient.SqlError: 운영 체제 오류2(지정된 파일을 찾을 수 없습니다.)(으)로 인해 파일 "__"에 대한 디렉터리를 조회하지 못했습니다. (Microsoft.SqlServer.Smo)
백업 파일로 데이터베이스를 복원하는 과정에서 오류가 발생하였다.
오류 해결
파일의 경로 확인 후, 해당 경로에 디렉터리가 존재하는지 확인한다.
D 드라이브에 DB라는 폴더가 없었다.
DB라는 폴더를 생성해준 후 다시 시도했더니 결과는 성공.
나의 경우는, 개발환경 구성 중 다른 사람이 작성한 가이드를 그대로 따라하다가 발생한 오류이다. (DB 폴더가 필요한지 몰랐다는 소리. 이런 세세한 부분까지 적어주지는 않을테니 ㅎ)
결론
운영체제 오류 2 는 파일명을 제대로 확인하고, 해당 경로의 디렉터리 존재 유무를 체크하면 되는 간단한 오류이다.
만약 파일명도 제대로 확인했고 디렉터리가 존재함에도 해당 오류가 발생한다면, 엑세스 권한 문제일 가능성이 있다. 이 경우, 데이터베이스가 배치된 폴더에 대한 전체 액세스 권한을 제공해야 한다.
다음 사이트를 참고하면 된다.
SQL Server에서 데이터베이스를 첨부하려고 할 때 "CREATE FILE에서 운영 체제 오류가 발생함 2(시스템
문제: SQL Server Management Studio에서 데이터베이스를 첨부하려고 할 때 "CREATE FILE에서 운영 체제 오류가 발생함(시스템이 지정된 파일을 찾을 수 없음)..." 오류 메시지가 표시됨: Microsoft SQL Server Manage
knowledge.autodesk.com
해당 내용을 찾아보던 중, 운영 체제 오류2는 발생할 일이 거의 없는 거 같다.(대부분 실수일 것)
다른 오류 관련 내용도 조사해놓았으니, 필요할 때 참고해야겠다.
운영 체제 오류 3(지정된 경로를 찾을 수 없습니다.)
이는 복원하려는 DB 로그 파일 경로가 없어서 발생하는 오류이다.
다음으로 복원 경로를 실제 DB 경로로 수정 후 다시 시도해보자.
운영 체제 오류 5(액세스가 거부되었습니다.)
데이터베이스 파일의 경로에 액세스 권한이 없어서 발생하는 오류이다.
MSSQL 기본 저장 경로의 권한을 확인한다.
서버 오른쪽 마우스 클릭. → 속성 클릭.
루트 디렉터리 확인 가능.
루트 디렉터리로 가서 오른쪽 마우스 클릭. → 속성 클릭.
보안 탭 클릭. → MSSQL 인스턴스명 클릭 후 권한이 허용되어 있는지 확인하면 된다.
자세한 내용은 다음 사이트를 확인하면 됩니다.
[SQL Server / MS-SQL] 운영 체제 오류 5: "5(액세스가 거부되었습니다.)"
# 운영 체제 오류 5: "5(액세스가 거부되었습니다.)" (Microsoft SQL Server, 오류: 5120) 물리적 파일 "D:\MSSQL\DATA\test.mdf"을(를) 열 수 없습니다. 운영 체제 오류 5: "5(액세스가 거부되었습니다.)". 이 오류는
ryean.tistory.com