프린트 하기

OS환경 : Windows Server 2012 R2 Standard (64bit)


DB 환경 : SQL Server 2012


방법 : SQL Server 2012 백업 후 다른 DB에 복구후 사용자계정 매핑하기

SQL Server 2012 백업 후 다른 DB에 복구(https://positivemh.tistory.com/559)

이후 이전 DB에 있던 계정들도 복구(매핑)를 해줘야 정상적으로 사용이 가능함


간단한 용어 설명

유저(사용자) : DB의 사용자계정

로그인 : SQL서버의 접속을 위한 계정



Source DB의 유저와 로그인 확인(oracle이라는 유저, 로그인(계정) 모두 존재함)



Target DB의 유저와 로그인 확인(oracle이라는 유저만 존재하고 로그인(계정)은 존재하지 않음)



로그인(SQL서버의 접속을 위한 계정)이 존재 해야 복원한 DB를 외부에서 접속 할 수 있음

현재 oracle 로그인 계정을 생성후 데이터베이스 계정 매핑 과정이 필요함



Target DB에서 작업

보안 - 로그인 - 새 로그인 선택



로그인 이름 입력 후 SQL Server 인증(패스워드 입력)

암호 만료 강제 적용 체크해제



사용자 매핑 탭에서 DB 선택 후 기본스키마 선택

멤버 자격에 db_owner, pubilc 선택



상태 탭에서 데이터베이스 엔진 연결 권한 - 허용 선택

로그인 - 사용 선택 후 확인



아래와 같이 로그인 만들기 실패 시 방법

로그인 만들기 실패 오류 : 15025 발생시 sp_change_users_login 프로시저를 사용해줘야함

sp_change_users_login 프로시저를 사용하면 사용자를 삭제하지 않고 각 DB 사용자와 로그인 계정을 쉽게 연결할 수 있음



*참고

이 경우 로그인에 oracle이 만들어지기는 하지만 실제 접속시도시 오류 : 4064 가 발생함



새 쿼리 선택



db 선택창 클릭



SampleDB 선택



아래 스크립트 입력 후 실행



스크립트

1
2
go
EXEC SP_CHANGE_USERS_LOGIN 'UPDATE_ONE','로그인할 사용자 계정','로그인할 사용자 계정'



명령이 완료됨



접속 테스트

파일 - 개채 탐색기 연결 선택



인증 - SQL Server 인증 선택



로그인 계정, 패스워드 입력



oracle 유저로 정상적으로 접속 된 모습

SampleDB에서 접근 가능함



트러블 슈팅

로그인 시 Login failed for user 'imsiuser'. (Microsoft SQL Server, Error: 18456) 발생 해결 방법

https://positivemh.tistory.com/565




참조 : 

https://positivemh.tistory.com/557

https://positivemh.tistory.com/565

https://server-talk.tistory.com/128