아주아주 힘든 여정이었다...
저번 시간에 이어 MSSQL 에 백업 파일을 복원하려고 시도했다. 그러나 CLI에서 복원하는건 실패... 결국 Azure Data Studio 를 통해서 복원에 성공했다.
docker cp {로컬의 파일 경로} {컨테이너 이름}:{컨테이너 내 복사할 경로}
<example>
docker cp C:\Users\SEC\Downloads\DatamotionMovieDatabase_2023-11-13.bak mssql2022:/var/opt/mssql
왼쪽 localhost 에서 오른쪽 버튼 > Management > Restore
<만약 Restore 을 눌렀는데 'you must enable preview features in order to use restore' 라는 메세지가 발생하면 아래 3번으로 가시오!>
파일을 찾으면 나머지를 자동적으로 채워진다. 확인 후 Restore 을 클릭한다.
USE {데이터베이스 이름};
SELECT Name FROM sys.tables;
<example>
USE DatamotionMovieDatabase;
SELECT Name From sys.tables;
쿼리를 날려보면 복원이 잘 되어있는 것을 확인할 수 있다.
[참고] https://learn.microsoft.com/en-us/azure-data-studio/preview-features
왼쪽 아래 톱니 바퀴 모양에서 Settings 클릭 > 검색창에 preview features 검색 > Workbench: Enable Preview Features 활성화
원래는 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 과 다르게 경로 설정이 되어있지 않아서 직접 경로를 입력해야 한다.
그럼 이만!