현재 서버에 test_1 라는 데이터베이스를 생성하고 이 DB의 사용 유저로
test 라는 계정을 생성해 주었다.
-- 테스트 목적
SQL서버를 다시 설치하고 test_1 DB를 복구하여 동일하게 만들어 주고
test_1 DB를 사용하던 유저를 원상복구 해 주는 작업.
냉큼 test 유저를 생성해서 가따 붙이지 않고 복구해 주는 이유는
그 유저의 권한과 설정들을 그대로 따라가기 위해서이다.
-- 선수행 작업
test_1 DB를 생성하고 이를 사용하는 유저 test를 생성한다.
간단히 테이블을 생성해 주고 test_1 DB를 백업한다.
-- 테스트 시작
1. SQL 서버 삭제 후 재 설치
2. test_1 데이터베이스를 디스크 파일로 부터 복구
a. 모든 작업 -> 데이트베이스 복원
b. 데이터베이스로 복원 이름을 test_1 로 명시
c. 복원 : 에서 장치 내용을 선택하고 test_1 이 백업된 파일을 지정하고 추가. 확인
d. test_1 데이터베이스가 복구 된다.
※ test_1 DB의 사용자에는 test 유저가 존재하지만 서버의 로그인에는 test 유저가
존재하지 않는다.
3. 쿼리 분석기에서 test/test 유저로 접속이 안 된다.
sp_change_users_login 'report'
를 실행하면 test 유저 ID가 출력이 된다.
4. 보안 폴더에서 로그인에 test 계정을 추가
a. SQL 서버 인증을 선택하고 암호를 지정한다.
b. test_1 데이터베이스를 기본값으로 지정한다.
- test_1 에 엑세스 할 수 없다는 경고창이 뜬다. 무시하고 넘어가자 -_-
- 암호는 현재 유저를 생성하면서 설정한 것을 적용한다.
5. 쿼리 분석기를 실행 시키고 어드민으로 접속한다.
sp_change_user_login 'update_one','test','test'
를 실행한다. 경고 없이 성공하면 다행이다. 안되면.. ㅡㅡ 글쎄..
6. 다시 엔터프라이즈 관리자로 돌아와서 보안 폴더에서 test 계정의 속성을 확인한다.
데이터베이스의 test 계정과 보안의 test 계정의 속성이 동일하게 되어 있을 것이다.
접속 가능한 데이터베이스 리스트와 권한이 같은지 확인한다.
댓글