2022년 2월 19일 토요일

시놀로지 도커에 MSSQL 설치

MSSQL은 MS제품군과 아무래도 다른 DB보다는 죽이 잘맞는다.

그래서 엑셀이나 엑세스 사용하는 사람은 아무래도 MSSQL 사용을 선호한다.

MS오피스군에서 출발한 사람은 특히 그렇다.

시놀로지 NAS에도 도커를 이용해 설치할수 있다.  

시놀로지 레지스트리에 공식이미지가 없을수 있으니

putty로 도커를 설치한 나스에 접속해서 다음명령을 통해 이미지를 가져온다.

(물론 당연하게도 시놀로지 나스에 도커를 설치했다는 가정하에)

(아직 2019 stable하지 않아서 2017로 함 시간이 지나면 당연히 2019쓰는게 맞음)

docker pull mcr.microsoft.com/mssql/server:2017-latest


[컨테이너 실행준비 - 설정]

1. 자동실행설정 - 체크

2. 볼륨연결 (이거 안하면 컨테이너 내려가면 데이터 다날라감 주의!!)

로컬폴더/MSSQL/Log  :  /var/opt/mssql/log
로컬폴더/MSSQL/Data : /var/opt/mssql/data

3. 포트는 1433 그대로 사용하고 로컬포트만 변경해도 충분할듯하다.
싫으면 netutil를 설치하고 변경작업을 해주면된다. (검색 ㄱㄱ)

4. 환경변수는

MSSQL_SA_PASSWORD : 내가원하는 SA 비밀번호
ACCEPT_EULA : Y
MSSQL_LCID : 1042
MSSQL_PID : Developer
TZ : Asia/Seoul
Path : 초기설정그대로


위와같이 설정하고 컨테이너를 실행한다.   초기설정이 시작이 좀걸리니
느긋하게 기다린다...  몇번 재시작된다..
완성되면 MSSQL을 사용해봤던 사람이라면
콘솔보다는 아무래도 SSMS로 접속해서 후처리하는게 익숙하니까
그걸로 DB만들고 테이블만들고 로그인계정만들고.. 불라불라 하면됨.. ㅇㅇ
(요즘에는 또 신통방통하게도 VSCode에 Extention으로 mssql 클라이언트가 있음)

그리고 중요한거!!
DB사용할때 한글사용을 위해서 SSMS에서 DB생성시
옵션탭에서 데이터 정렬을 Korean_Wansung_CS_AS 로 설정한다.
이거안하면 한글입력하면 ? 로바껴서 출력된다.  주의!!

그리고 백그라운드 디자이너를 지원하지 않기때문에 테이블 생성시
GUI로 안나온다. 그냥 Create Table 해서 쿼리문으로만들거나
귀찮은사람은 꼼수로 로컬에다가 MSSQL 설치해서 원하는 테이블을 똑같이만들고
DB 스크립팅을 통해서 쿼리문생성을 해서 도커에 접속해서 실행하면된다.
제약조건 만들때가.. 거시기한데.. 이럴게 노가다 할바에 그냥 ssms말고 다른
DB조작 sw를 가지고 핸들링 해보는것도 도움이 될듯..


궁금한건 이게.. Express 정책을 따라가서 특정용량 10기가던가??
넘어가면 사용에 제한이 있는 공식이미지인지 아니면 상용처럼 제한이 없는건지
모르겠다.. 왠지 후자일것 같은데.. 맹신하면 안될듯하다..
하기사 저용량을 넘어갈일이 일반적으로는 별로 없고 저용량을 넘어가는건
퍼블릭으로 배포된 서비스일 가능성이 높으니까 그정도되면 정식적으로 서버를 갖추고
하드웨어를 구축하던가 클라우드 서비스를 이용하던가 해야한다. 

하지만 중규모의 서비스에서 이정도의 DB면 충분하다고 생각한다.
(쇼핑몰 1개정도는 차고남는다.)


댓글 없음:

댓글 쓰기