기존에 있던 태스용PC가 Windows 으로 구축된 상태에서 , 리눅스 환경에 서비스를 기획하고 있었기에 Centos 를 설치~
Database를 어떤걸 쓸까 고민중에 ~ 다행이도 MS에서 SQL을 리눅스 판으로 배포
하지만 Tool 은 Console 로만 제공함.
근데 지금까지 DB 백업파일을 복원하는것이 문제임.
어짜피 개발용PC가 윈도우기도 하고, SSMS 가 설치되어져 있어 GUI환경에서 원격으로 복원 해도 상관없는데
이왕 하는거 console 로 ~
sqlcmd 로 접속 해도 상관 없고 , 혹은 jdbc driver 로 연결하여 한번에 하는 쿼리를 만들어 봄.
0. 우선 console 에서 sqlcmd 로 접속
$ sqlcmd -S localhost -U SA -P 'password' > 이때 localhost = ip주소를 SA = 사용자 ID password = 설치때 입력한 password |
1.초간단하게 할 경우 (sql cmd 접속후)
> restore database [DB명] from disk = 'c:\원본파일' with recovery, REPLACE, stats=10; |
linux 에서 C:\ 가 나오니 당황 스럽지만.. mssql의 리눅스 배포판의 경우 리눅스 파일시스템의 Root 를 C:\로 인식(windows 처럼) 한다.
그러니까 . home/tester/backupdb.trn 의 경우 C:\home\tester/backupdb.trn 으로 표기함.
이때 MDF 파일과 LDF 파일은 mssql 설정에 있는 경로에 저장됨.
2. mdf과 ldf 파일의 경로도 지정하고 싶다면
일반 터미널 창에서 우선 MDF와 LDF가 저장될 디렉토리의 권한은 mssql 이 가져야 함. 아래와 같이 설정 한다.
$ chmod mssql '폴더 경로' $ chgrp mssql '폴더 경로' |
sql cmd 접속후
restore database [DB명] from disk = 'c:\원본파일' with with move '[datafile]' to 'c:\[data file을 저장할 전체 경로]' , move '[logfile]' to 'c:\[log file을 저장할 전체 경로]' , recovery, REPLACE, stats=10;
|
datafile 은 일반적으로 MDF 파일을 말하며 , logfile은 ldf 파일을 말함.
마찬가지로 저장경로는 c:\를 넣어 주어야 한다.
'linux > mssql' 카테고리의 다른 글
Centos 7 MSSQL-SERVER-AGENT 설치 (0) | 2017.04.12 |
---|---|
Centos 7 MSSQL-TOOLS 설치 (0) | 2017.04.06 |
Centos 7 MSSQL SERVER 설정 (0) | 2017.04.06 |
Centos 7 MSSQL SERVER 설치 (0) | 2017.04.06 |