[Photon OS] linux용 MSSQL 서버 기동시켜 동작시키기 Computer Tip

십년인가 십몇년 전인가에 MSSQL의 TransactSQL 을 이용하여 수백 줄 이상의
프로그램을 한 적이 있었습니다만, 시간이 지나 이제는 다 까먹었습니다.

최근에 필요에 따라 가능하면  MSSql 서버를 구축하고 이를 테스트 하는 환경을 구축하려고
하는데 윈도우 서버를 설치해야 하나? 하고 조금 살펴보았더니,

MS가 그동안 일을 많이 하여 mssql server를 리눅스용으로 만들어 놓았군요.
얼씨구나 하고 돌려 보았습니다.

우선 docker-compose.yaml 파일에 다음과 같은 내용을 넣습니다.

version: "3"
services:
  db:
    image: "mcr.microsoft.com/mssql/server"
    volumes:
      - ${PWD}/dhv/mssql:/var/opt/mssql
    ports:
      - 1433:1433
    environment:
      SA_PASSWORD: 'test-oracle123'
      ACCEPT_EULA: "Y"

이제 docker-compose up 으로 실행을 하면 해당 db 서비스가 동작을 합니다.

해당 컨테이너에서 잘 동작하는 지 확인해 보겠습니다.

docker-compose exec db /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P test-oracle123

그러면 
1> 

하고 나타나는데, 여기에 SQL 문장을 넣고,
...
n> GO

라고 하면 해당 SQL 문이 실행됩니다.

참고로, MySQL에서 
MySQL> show databases;

에 해당하는 명령이 TransactSQL 에서는,

1> sp_databases
2> go

라고 하면,

DATABASE_NAME                                                                                                                    DATABASE_SIZE REMARKS                                                                                                                                                                        
-------------------------------------------------------------------------------------------------------------------------------- ------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                                    6144 NULL                                                                                                                                                                           
model                                                                                                                                    16384 NULL                                                                                                                                                                           
msdb                                                                                                                                     14208 NULL                                                                                                                                                                           
tempdb                                                                                                                                   16384 NULL            

와 같은 식으로 나옵니다.


어느 분께는 도움이 되셨기를 ..

핑백

덧글

댓글 입력 영역

구글애드텍스트