[MSSQL] MacOS에서 기본 환경 셋업

김현학·2025년 2월 12일
0

Temp

목록 보기
7/8

OS: MacOS 14.6.1
IDE: Visual Studio Code
Pre-requisites: Docker


1. MSSQL 설치

Docker Compose 작성
참고: Microsoft SQL Server - Ubuntu based images

  • 동일한 위치에 .env 파일을 작성하고 MSSQL_SA_PASSWORD=your!password 추가
    참고: git commit
services:
  # https://hub.docker.com/r/microsoft/mssql-server
  mssql:
    image: mcr.microsoft.com/mssql/server:2022-latest
    container_name: mssql
    environment: 
      ACCEPT_EULA: ${ACCEPT_EULA:-Y}
      MSSQL_SA_PASSWORD: ${MSSQL_SA_PASSWORD:?error}
      MSSQL_PID: ${MSSQL_PID:-Developer}
    ports:
      - "1433:1433"
    volumes:
      - mssql-data:/var/opt/mssql

volumes:
  mssql-data:

2. DB 연결

CLI 사용

brew install sqlcmd 설치
sqlcmd -U sa 후 설정한 비밀번호 입력하여 로그인 가능
++ 옵션의 대소문자 구분에 주의

VS Code Extension

Database Client JDBC
사용 결과, 현재 Microsoft 공식 확장의 고급 설정을 이용할 필요성을 못 느끼고, UI/UX와 범용성이 좋아서 선택
++ Script 상에서 DATABASE에 대한 연산이 원활하게 동작하지 않는 이유의 원인 추적 중

  1. Create Connection
  2. Username: sa
    Password: .env의 비밀번호 입력

3. (선택) 한국어 설정

MSSQL은 기본 서버 설정 상태에서 한글을 추가할 때에는 크게 세 가지를 신경써야 한다.
1. Collation
2. 데이터 타입 (N)VARCHAR
3. N-prefix on string
자세한 내용은 유니코드 문자열의 저장 참고

이러한 설정이 불필요하게 복잡하다고 느껴진다면, compose.yaml을 다음과 같이 변경해주면 된다.
environment 절에 MSSQL_COLLATION 값이 추가되었다. (git commit)

services:
  # https://hub.docker.com/r/microsoft/mssql-server
  mssql:
    image: mcr.microsoft.com/mssql/server:2022-latest
    container_name: mssql
    environment:
      ACCEPT_EULA: ${ACCEPT_EULA:-Y}
      MSSQL_SA_PASSWORD: ${MSSQL_SA_PASSWORD:?error}
      MSSQL_PID: ${MSSQL_PID:-Developer}
      MSSQL_COLLATION: ${MSSQL_COLLATION:-Korean_100_CS_AS_KS_WS_SC_UTF8}
      MSSQL_LCID: ${MSSQL_LCID:-1042}
    ports:
      - "1433:1433"
    volumes:
      - mssql-data:/var/opt/mssql

volumes:
  mssql-data:

0개의 댓글

관련 채용 정보