Visual Studio Code용 MSSQL 확장의 로컬 SQL Server 컨테이너 기능은 개발자가 단일 Docker 명령을 작성하지 않고도 완전히 구성된 SQL Server 컨테이너를 스핀업할 수 있도록 하여 로컬 개발을 간소화합니다. 연결 보기에서 직접 컨테이너를 배포하고 관리할 수 있습니다. 이 새로운 기능은 프로덕션 환경에서 사용할 수 있는 동일한 데이터베이스 엔진을 사용하여 워크로드를 프로토타이핑, 개발 또는 테스트하는 데 적합합니다.
기본적으로 컨테이너 마법사는 벡터 데이터 형식 및 JSON 함수와 같은 AI 지원 기능을 포함하는 SQL Server 2025(17.x)를 사용합니다. 테스트 요구 사항에 따라 SQL Server 2022(16.x), SQL Server 2019(15.x) 또는 SQL Server 2017(14.x) 중에서 선택할 수도 있습니다.
비고
로컬 SQL Server 컨테이너 환경은 Docker Desktop(또는 해당)이 Linux 컨테이너 모드에서 실행되는 한 macOS, Windows 및 Linux에서 작동합니다.
기능
MSSQL 확장의 로컬 SQL Server 컨테이너는 다음과 같은 기능을 제공합니다.
- Docker 명령을 작성하지 않고 로컬 SQL Server 컨테이너를 만듭니다.
- 여러 SQL Server 버전(SQL Server 2025(17.x)(기본값), SQL Server 2022(16.x), SQL Server 2019(15.x) 및 SQL Server 2017(14.x) 중에서 선택합니다.
- 컨테이너 이름, 호스트 이름 및 포트를 사용자 지정합니다.
- 배포 전에 Docker 설치 및 실행 상태를 자동으로 확인합니다.
- 1433이 이미 사용 중인 경우 사용 가능한 포트를 자동으로 할당합니다.
- 컨테이너를 다시 시작할 때 연결 설정을 자동으로 연결하고 유지합니다.
- 연결 보기의 상황에 맞는 메뉴에서 컨테이너 수명 주기(시작, 중지, 삭제)를 관리합니다.
- 개체 탐색기, 테이블 디자이너, 스키마 디자이너, 쿼리 편집기 및 GitHub Copilot를 비롯한 모든 핵심 MSSQL 확장 기능과 함께 사용합니다.
중요합니다
로컬 컨테이너는 개발 전용입니다. 프로덕션 배포는 지원되지 않습니다.
로컬 컨테이너 만들기
로컬 SQL Server 컨테이너를 만들려면 다음을 수행합니다.
연결 보기의 메뉴에서 로컬 SQL 컨테이너 만들기 옵션을 선택합니다.
로컬 SQL Server 컨테이너 환경에서 기대할 수 있는 내용을 강조 표시하는 개요 화면을 검토합니다.
준비가 되면 시작을 선택하여 계속합니다.
MSSQL 확장은 배포 전에 Docker를 자동으로 확인합니다.
- Docker가 설치되어 있지 않으면 설치 링크가 포함된 메시지가 나타납니다. 계속하기 전에 설치해야 합니다.
- Docker가 설치되어 있지만 실행되지 않는 경우 시작하라는 메시지가 표시됩니다. Docker를 시작하는 데 실패하면 다시 시도하거나 취소합니다.
모든 필수 구성 요소가 충족되면 다음 을 선택하여 배포를 계속합니다.
배포 설정 패널에서 다음을 수행합니다.
- SQL Server 버전을 선택합니다(SQL Server 2025(17.x)는 기본적으로 선택됨).
- 계정의 암호를 입력합니다
sa. - 연결 프로필의 이름을 입력합니다(선택 사항).
- 필요에 따라 고급 옵션을 완료합니다.
- 컨테이너 이름
- 항구
- 호스트명
- 사용 조건에 동의합니다.
- 컨테이너 만들기를 선택합니다.
SQL 컨테이너 배포 작동 방식
컨테이너 만들기를 선택하면 확장에서 모든 항목을 자동으로 처리합니다.
- 선택한 SQL Server 이미지를 가져옵니다(아직 캐시되지 않은 경우).
- 선택한 설정을 사용하여 SQL Server 컨테이너를 만듭니다.
- 로그를 모니터링하여 모든 데이터베이스가 완전히 복구되고 준비되었는지 확인합니다.
- 연결 프로필을 만들고 컨테이너에 연결합니다.
배포가 완료되면 컨테이너가 시작되고 MSSQL 확장이 새 데이터베이스에 자동으로 연결됩니다.
컨테이너 관리
컨테이너를 관리하려면 연결 보기에서 연결 프로필 이름을 마우스 오른쪽 단추 로 클릭합니다. 상황에 맞는 메뉴에서 다음을 수행할 수 있습니다.
중지된 컨테이너 시작
확장은 컨테이너를 시작하기 전에 Docker가 실행되고 있는지 확인합니다. Docker가 실행되고 있지 않으면 시작하라는 메시지가 표시됩니다.
실행 중인 컨테이너 중지
이 옵션은 데이터베이스 상태를 유지하면서 컨테이너를 종료합니다. 동일한 메뉴에서 언제든지 다시 시작할 수 있습니다.
컨테이너 삭제
이 옵션은 컨테이너와 해당 데이터를 영구적으로 제거합니다. 계속하기 전에 확인하라는 메시지가 표시됩니다.
중요합니다
컨테이너를 삭제하면 연결된 연결 프로필도 제거됩니다.
자동 다시 연결 경험
다시 연결할 때 컨테이너 또는 Docker가 실행되고 있지 않으면 확장을 시작하라는 메시지가 표시됩니다. 수동으로 문제를 해결할 필요가 없습니다.
지원되는 시나리오
MSSQL 확장의 모든 핵심 기능과 함께 로컬 SQL Server 컨테이너를 사용할 수 있습니다.
- 쿼리 편집기 및 IntelliSense
- 테이블 디자이너 및 스키마 디자이너
- GitHub Copilot (깃허브 코파일럿)
- 개체 탐색기 및 연결 관리
이 기능을 사용하면 로컬 SQL Server 컨테이너가 다음 작업에 이상적입니다.
- 새로운 기능 프로토타입 생성
- 스키마 변경 테스트
- 격리된 환경에서 자동화된 테스트 실행
- SQL Server 2025(17.x) 기능 실험
제한점
- Docker Desktop(또는 해당)을 설치하고 실행해야 합니다.
- Linux 기반 SQL Server 컨테이너만 지원됩니다(SQL Server 2017(14.x) 이상 버전).
- Podman에 대한 지원이 없습니다.
- 백업/복원, 클러스터링, 스크립트 초기화 및 Docker Compose는 기본 제공 마법사를 통해 지원되지 않지만 외부 도구 또는 명령을 사용하여 이러한 작업을 수동으로 수행할 수 있습니다.
- 프로덕션용이 아닌 로컬 개발을 위해 엄격하게 설계되었습니다.
- Docker 설치, 구성 또는 런타임 관련 문제는 사용자가 해결해야 합니다.
- 컴퓨터에 충분한 리소스가 있는지 확인하거나 Docker 설정을 통해 Docker의 메모리 할당 및 컨테이너의 리소스 제한을 조정하여 안정적인 성능을 보장합니다.
- 메모리 요구 사항:
- Linux 기반 컨테이너를 시작하려면 SQL Server에 2GB 이상의 메모리가 필요합니다.
- 기본적으로 SQL Server on Linux는 컨테이너에서 사용할 수 있는 메모리의 약 80%를 사용합니다.