중요합니다
Azure Data Studio는 2026년 2월 28일에사용 중지됩니다. 저희는 Visual Studio Code를 사용할 것을 권장합니다. Visual Studio Code로 마이그레이션하는 방법에 대한 자세한 내용은 Azure Data Studio에 무슨 일이 일어나고 있는지 확인하세요.
SQL Database 프로젝트 확장은 프로젝트 기반 개발 환경에서 SQL 데이터베이스를 개발하기 위한 Visual Studio Code 확장입니다. 호환되는 데이터베이스에는 SQL Server, Azure SQL Database, Azure SQL Managed Instance, Fabric의 웨어하우스 및 Fabric의 SQL 데이터베이스가 포함됩니다. SQL 프로젝트는 테이블, 저장 프로시저 또는 함수와 같은 단일 데이터베이스에 대한 스키마를 구성하는 SQL 개체의 로컬 표현입니다. SQL Database 프로젝트가 빌드되면 출력 아티팩트가 파일입니다 .dacpac . SQL Database 프로젝트 확장을 사용하여 SQL Database 프로젝트를 게시하거나 .dacpac 명령줄 인터페이스를 사용하여 게시 .dacpac 하여 새 데이터베이스와 기존 데이터베이스를 업데이트하여 해당 내용 과 일치하도록 업데이트할 수 있습니다.
SQL 프로젝트 개념에 대한 자세한 내용은 SQL 데이터베이스 프로젝트가란?
확장 기능
SQL Database 프로젝트 확장은 다음과 같은 기능을 제공합니다.
- 빈 Microsoft.Build.Sql 프로젝트를 새로 만듭니다.
- 연결된 데이터베이스에서 새 프로젝트를 만듭니다.
- Visual Studio Code 또는 SQL Server Data Tools에서 이전에 만든 프로젝트를 엽니다.
- 프로젝트에서 개체(테이블, 뷰, 저장 프로시저) 또는 사용자 지정 스크립트를 추가하거나 제거하여 프로젝트를 편집합니다.
- 폴더에서 파일/스크립트를 구성합니다.
- 시스템 데이터베이스 또는 사용자 dacpac에 대한 참조를 추가합니다.
- 단일 프로젝트를 빌드합니다.
- 단일 프로젝트를 배포합니다.
- 배포 프로필에서 연결 세부 정보(SQL Windows 인증) 및 SQLCMD 변수를 로드합니다.
Install
Visual Studio Code에서 SQL Database 프로젝트 확장을 설치할 수 있습니다.
SQL Database 프로젝트 확장은 Visual Studio Code용 mssql 확장과 함께 설치됩니다.
종속성
SQL Database Projects 확장은 .NET SDK(필수) 및 AutoRest.Sql(선택 사항)에 종속됩니다.
.NET SDK
.NET SDK는 프로젝트 빌드 기능에 필요하며 확장에서 지원되는 버전을 검색할 수 없는 경우 .NET SDK를 설치하라는 메시지가 표시됩니다. Windows, macOS 및 Linux용 .NET SDK를 다운로드하여 설치할 수 있습니다.
현재 설치된 dotnet SDK 버전을 확인 하려면 터미널을 열고 다음 명령을 실행합니다.
dotnet --list-sdks
.NET SDK를 설치한 후에는 환경에서 SQL Database Projects 확장을 사용할 준비가 된 것입니다.
일반적인 문제
원본 목록에서 누락된 Nuget.org 다음과 같은 오류 메시지가 발생할 수 있습니다.
error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages
nuget.org이 원본으로 등록되었는지 확인하려면 명령줄에서 dotnet nuget list source을 실행한 뒤, 결과에서 nuget.org를 참조하는 [Enabled] 항목을 검토합니다. 만약 nuget.org가 원본으로 등록되지 않았다면, dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org을 실행합니다.
지원되지 않는 .NET SDK 버전으로 인해 다음과 같은 오류 메시지가 표시될 수 있습니다.
error MSB4018: The "SqlBuildTask" task failed unexpectedly.-
error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_(연결된 존재하지 않는 파일에 일치하지 않는 닫는 대괄호가 있는 경우).
여러 버전이 설치될 때 SQL Database Projects 확장에서 .NET SDK의 v6.x 버전을 사용하도록 강제하려면 SQL 프로젝트가 포함된 폴더에 global.json 파일을 추가합니다.
SQL 프로젝트 빌드 문제 해결에 대한 자세한 내용은 SQL 프로젝트 빌드 문제 해결에서 찾을 수 있습니다.
SQLCLR
데이터베이스 프로젝트의 SQLCLR 개체는 .NET Framework를 사용하고 SQL Database 프로젝트 확장은 .NET을 사용하여 프로젝트를 빌드하기 때문에 Visual Studio Code에서 지원되지 않습니다.
작업 공간
SQL Database 프로젝트는 Visual Studio Code의 논리 작업 영역(폴더) 내에 포함됩니다. 현재 작업 영역에서 열려 있는 폴더 내의 모든 SQL 프로젝트는 기본적으로 SQL Database 프로젝트 보기에서 사용할 수 있습니다.
프로젝트 창의 인터페이스를 통해 작업 영역에서 프로젝트를 수동으로 추가하고 제거할 수 있습니다. 필요한 경우 파일에서 .code-workspace 작업 영역에 대한 설정을 수동으로 편집할 수 있습니다.
다음 예제 .code-workspace 파일 folders 에서 배열은 탐색기 창에 포함된 모든 폴더를 나열하고 내의 dataworkspace.excludedProjects 배열 settings 은 프로젝트 창에서 제외된 모든 SQL 프로젝트를 나열합니다.
{
"folders": [
{
"path": "."
},
{
"name": "WideWorldImportersDW",
"path": "..\\WideWorldImportersDW"
}
],
"settings": {
"dataworkspace.excludedProjects": [
"AdventureWorksLT.sqlproj"
]
}
}