[DB] DB 백업 파일을 Docker 에 띄운 MSSQL에 복원하기

춤추는 머쉬룸·2024년 1월 10일
0

2024 CNU NHN ACADEMY

목록 보기
3/15
post-thumbnail

아주아주 힘든 여정이었다...

저번 시간에 이어 MSSQL 에 백업 파일을 복원하려고 시도했다. 그러나 CLI에서 복원하는건 실패... 결국 Azure Data Studio 를 통해서 복원에 성공했다.

1. 로컬의 백업 파일을 Docker 내의 경로에 옮긴다

docker cp {로컬의 파일 경로} {컨테이너 이름}:{컨테이너 내 복사할 경로}

<example>
docker cp C:\Users\SEC\Downloads\DatamotionMovieDatabase_2023-11-13.bak mssql2022:/var/opt/mssql


2. Azure Data Studio 의 Restore 기능을 이용한다

2-1. 연결된 서버에서 Restore 을 연다.

왼쪽 localhost 에서 오른쪽 버튼 > Management > Restore

<만약 Restore 을 눌렀는데 'you must enable preview features in order to use restore' 라는 메세지가 발생하면 아래 3번으로 가시오!>

2-2. Backup file path : 복원할 파일이 있는 경로를 설정한다.

파일을 찾으면 나머지를 자동적으로 채워진다. 확인 후 Restore 을 클릭한다.

2-3. 복원이 잘 되었는지 확인한다.

USE {데이터베이스 이름};
SELECT Name FROM sys.tables;

<example>
USE DatamotionMovieDatabase;
SELECT Name From sys.tables;

쿼리를 날려보면 복원이 잘 되어있는 것을 확인할 수 있다.


3. enable preview features 메세지 해결 방법

[참고] https://learn.microsoft.com/en-us/azure-data-studio/preview-features

왼쪽 아래 톱니 바퀴 모양에서 Settings 클릭 > 검색창에 preview features 검색 > Workbench: Enable Preview Features 활성화


4. (번외) sqlcmd 실행하기

원래는 MySQL 때와 마찬가지로 cmd 에서 모든 일을 처리하려고 했다.. 삽질 하는 동안 알게된 mssql 을 cmd 에서 사용하도록 하는 툴인 sqlcmd 실행시키는 방법!

docker exec -it {컨테이너 이름} bash
/opt/mssql-tools/bin/sqlcmd -S {호스트} -U sa -P {sa 계정 비밀번호}

<example>
docker exec -it mssql2022 bash
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P P@ssw0rd

먼저 위의 명령으로 bash 를 실행하고, 아래 명령으로 sqlcmd를 실행시킬 수 있다. sqlcmd 는 mysql 과 다르게 경로 설정이 되어있지 않아서 직접 경로를 입력해야 한다.

그럼 이만!

0개의 댓글