테스트 서버에 실 서버에서 사용하는 데이터를 불러오기 위해 백업 및 복원을 해보도록 하겠다.
먼저 백업을 하기 전 SSMS가 설치 되어 있어야 한다.
1. DB 백업하기
SSMS로 백업을 위한 DB(실 서버DB)에 접속하여준다. 그런 다음 데이터 베이스가 좌측에 목록으로 쭉 나올 건데 여기서 원하는 데이터 베이스를 우클릭하고 태스크 -> 백업을 눌러 준다.
그런 다음 백업 파일을 저장할 위치를 선택하기 위해 백업할 위치를 디스크로 설정하고 아래의 추가 버튼을 누른 후 원하는 저장 위치의 경로를 선택한다. (해당 저장공간은 내PC가 아닌 sql 서버의 저장공간이다.)
추가를 누르면 아래 창이 나오는데 점3개부분을 클릭하고 내가 원하는 경로에 파일이름을 입력하고 확인을 누르면 추가가 된다.
그러면 이렇게 백업할 파일이 추가가 되었다. 여기서 확인 버튼을 눌러 백업을 진행해 주면 된다.
진행이 완료되고 나면 서버에 접속해서 백업한 경로에 들어가면 아까 생성한 백업 파일(test.bak)이 보일 것 이다.
2. DB 복원하기
2-1. 복원 진행하기
백업은 완료되었으니 이제 테스트 서버에 복원하여 실서버와 같은 데이터베이스로 만들어 줄 차례이다. 먼저 아까 생성한 test.bak 파일을 테스트 서버로 옮긴다. 필자의 경우 d드라이브에 넣었다.
그런 다음 SSMS로 이번에는 테스트 서버에 접속한다. 내가 복원하고자 하는 데이터 베이스를 우클릭 한다음
태스크 -> 복원 -> 데이터베이스로 들어간다.
그런 다음 디바이스를 누르고 점3개를 눌러준다.
여기서 추가를 눌러 아까 옮겼던 test.bak 파일을 선택하고 확인을 누른다.
그러면 복원을 수행하기 위한 백업 세트가 나오고 이 상태에서 확인을 눌러주면 복원이 진행된다.
2-2. 복원 오류 해결(배타적으로 액세스할 수 없습니다.)
그러나 가끔 왼쪽 진행률에 데이터베이스를 복원하지 못했다고 나오는데 클릭해보면 아래처럼 "데이터베이스가 사용 중이어서 배타적으로 액세스할 수 없습니다."라는 문구가 나오면서 복원을 할 수 없다고 나온다.
그러면 해당 데이터베이스의 속성에 들어간 다음
왼쪽의 옵션에서 엑세스 제한이 MULTI_USER라고 되어있을건데 이걸 RESTRICTED_USER로 바꾼 후 확인을 눌러준다.
창이 하나 더 나오는데 예를 눌러주고 넘어간다.
그러면 아까 그 데이터베이스에 제한된 사용자라는 표시가 나오게 된다. 이 상태에서 아까 위에 했던 복원 과정을 다시 진행 해주면 복원이 정상적으로 된다.
'데이터베이스 > MSSQL' 카테고리의 다른 글
[MSSQL] UNION 다루기 (0) | 2024.09.19 |
---|---|
[MSSQL] PIVOT을 사용하여 행값을 컬럼으로 바꾸기 (0) | 2024.09.01 |
[MSSQL] CASE문 다루기 (0) | 2024.08.30 |
[MSSQL] 여러 조건으로 UPDATE 시키기 (UPDATE SET CASE...) (0) | 2024.08.19 |
[MSSQL] 동적 쿼리를 사용하여 원하는 컬럼 업데이트 시키기 (2) | 2024.08.12 |