물리적 파일 "D:\MSSQL\DATA\test.mdf"을(를) 열 수 없습니다. 운영 체제 오류 5: "5(액세스가 거부되었습니다.)".
이 오류는 데이터베이스 파일을 다른 위치로 옮기기 위해
데이터베이스 분리 후 파일의 저장위치를 변경하고 연결(Attach) 시도 시 발생한 오류이다.
[SSMS]
[T-SQL]
이 오류는 데이터베이스 파일을 옮기려는 경로에 접근(액세스) 권한이 없어서 발생한다.
먼저, MSSQL 의 기본 저장 경로의 권한을 확인해보자.
나의 경로는 아래와 같다.
"C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA"
[DATA] 폴더 우클릭 > [속성] 선택
[DATA속성] 폴더 > [보안] 탭 선택
그룹 또는 사용자이름을 보면 MSSQLSERVER 가 있는데,
이게 바로 나의 MSSQL 의 인스턴스명 (Instance Name) 이다.
그리고 인스턴스가 모든 권한을 허용하고 있다.
※ 인스턴스명 (Instance Name) 아는 방법
[윈도우+R] 실행 > "services.msc" 입력하여 서비스를 실행한다.
서비스 중 SQL Server 를 찾는다.
나 같은 경우엔 "SQL Server(MSSQLSERVER)" 라고 되어 있는데,
괄호 안의 내용이 바로 인스턴스 이름이다.
(만약 설치 시, 따로 설정없이 진행했다면 MSSQLSERVER 로 되어있을 것이다.)
이제 데이터베이스 파일을 새로 옮겨 줄 경로로 가서 권한을 확인해보자.
나는 아래와 같은 경로에 데이터베이스 파일을 옮겨 줄 예정이다.
"D:\MSSQL\DATA"
[DATA] 폴더 우클릭 > [속성] 선택
[DATA] 속성 > [보안] 탭 선택
해당 폴더에는 인스턴스(MSSQLSERVER) 가 존재하지 않으므로 새로 추가해주어야 한다.
선택할 개체 이름에
"NT Service\MSSQLSERVER" 를 입력해주고, [이름 확인] 버튼을 누른다.
그럼 MSSQLSERVER 라는 문구가 나오며 정상 확인이 된다.
확인하면 인스턴스가 생기고, 권한을 모두 허용하면 된다.
이렇게 하고 다시 진행하니,
정상적으로 데이터베이스 연결(attach) 되었다 :)
'DBMS > SQL Server (MS-SQL)' 카테고리의 다른 글
[SQL Server / MS-SQL] MI 읽기 전용 보조 복제본으로 접속하기 (Connecting to a read-only secondary replica) (0) | 2020.04.29 |
---|---|
[SQL Server / MS-SQL] 데이터베이스 분리 및 연결 (Detach / Attach) (0) | 2020.02.17 |
[SQL Server / MS-SQL] 데이터베이스 소유자 (db owner) 조회 및 변경 (0) | 2019.11.18 |
[SQL Server / MS-SQL] 모든 프로시저명 (Procedure Name) 조회 (0) | 2019.11.15 |
[SQL Server / MS-SQL] 데이터베이스 복원 실패 (WITH MOVE 옵션) (0) | 2019.11.13 |