OS: MacOS 14.6.1
IDE: Visual Studio Code
Pre-requisites: Docker
.env
파일을 작성하고 MSSQL_SA_PASSWORD=your!password
추가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:
CLI 사용
brew install sqlcmd
설치
sqlcmd -U sa
후 설정한 비밀번호 입력하여 로그인 가능
++ 옵션의 대소문자 구분에 주의
VS Code Extension
Database Client JDBC
사용 결과, 현재 Microsoft 공식 확장의 고급 설정을 이용할 필요성을 못 느끼고, UI/UX와 범용성이 좋아서 선택
++ Script 상에서 DATABASE
에 대한 연산이 원활하게 동작하지 않는 이유의 원인 추적 중
sa
.env
의 비밀번호 입력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: