파일 접근 권한으로 인한 DB복원 실패 작업 해결하기
- Version : SQL Server 2000, 2005, 2008, 2008R2, 2012
DB를 복원하는 방법에는 여러 가지 방법이 있다. 지금까지 다룬 포스팅에서 보면 백업파일에서 복원하는 방법, 스냅샷 파일에서 복원하는 방법, MDF를 이용한 복원 방법 등 이 외에 매우 다양한 방법이 있다.
그런데 전달 받은 백업 파일 또는 데이터 파일을 복원하려 할 때 파일에 접근 권한 자체가 되지 않아 복원 작업이 실패하는 경우가 있다. 나의 경우에도 퍼블리셔에서 전달 받은 파일이 계정 권한으로 인하여 복원되지 않는 경험이 있다. 이때 어떻게 해결하는지 실습을 통해서 알아 보자.
먼저 계정에 다른 파일 엑세스 권한을 다르게 하기 위하여 SSMS에서 윈도우 계정으로 로그인 하여 데이터베이스를 분리 하였다.
SP_DETACH_DB SW_TEST |
또 다른 SSMS를 실행하여 윈도우 계정이 아닌 SQL 계정으로 로그인하여 데이터베이스 연결을 시도해 보자. 다음과 같이 에러가 발생 할 것이다.
분리되어 있는 데이터베이스 파일(MDF파일)에서 마우스 오른쪽을 클릭하여 [속성] – [보안]을 확인해 보면 현재 파일 접근 권한이 윈도우 계정만 등록된 것을 확인 할 수 있다.
[편집]에서 사용자 계정 및 권한을 추가하자. 실습을 위해서 편의상 [Everyone]을 추가하고 모든 권한을 지정해 주었다.
SQL 계정으로 접속한 SSMS에서 다시 한번 데이터베이스 연결을 시도하여 보자. 성공적으로 데이터베이스가 연결되는 것을 확인 할 수 있다.
만약 전달 받은 백업 파일 또는 데이터 파일에 접근이 되지 않아 복원이 안될 때에는 파일 접근 권한을 꼭 살펴 보자.
그런데 테스트 과정에서 대부분의 경우에는 본인의 윈도우 계정으로 SSMS를 실행하여 복원 작업을 하기 때문에 기본적으로 자신의 계정이 Administrator 그룹에 속해 있어 특별히 권한 없이도 복원이 되는 것을 확인 할 수 있었다.
2012-11-19 / 강성욱 / http://sqlmvp.kr
'SQL Server > SQL Server Tip' 카테고리의 다른 글
문서화 되지 않은 sys.fn_PhysLocFormatter 함수 (0) | 2015.07.17 |
---|---|
SQL Server 관리자 전용 연결(DAC) (0) | 2015.07.17 |
DBCC CHECKDB 실행과 히스토리 관리 (0) | 2015.07.17 |
MDF를 이용한 데이터베이스 복원 (0) | 2015.07.17 |
EventID 3041 Error (0) | 2015.07.17 |