명령줄에서 데이터베이스 프로젝트 빌드
중요하다
Azure Data Studio는 2026년 2월 28일에사용 중지됩니다. Visual Studio Code사용하는 것을 추천합니다. Visual Studio Code로 마이그레이션하는 방법에 대한 자세한 내용은 Azure Data Studio에 무슨 일이 일어나고 있는지 확인하세요.
SQL 데이터베이스 프로젝트 확장은 데이터베이스 프로젝트를 빌드하는 그래픽 사용자 인터페이스를 제공하지만 Windows, macOS, Linux 환경의 경우 명령줄 빌드 환경도 사용할 수 있습니다. 명령줄에서 프로젝트를 빌드하는 단계는 SDK 스타일 SQL 프로젝트와 이전 비SDK 스타일 SQL 프로젝트 형식 간에 다릅니다. 이 문서에서는 두 SQL 프로젝트 형식에 대해 명령줄에서 SQL 프로젝트의 dacpac을 빌드하는 데 필요한 필수 조건과 구문을 간략하게 설명합니다.
SDK 스타일 SQL 프로젝트(프리뷰)
SDK 스타일 SQL 프로젝트에서 Microsoft.Build.Sql을 사용하는 것은 명령줄에서 SQL 프로젝트를 사용하기 위한 기본 설정 방법입니다.
Windows, macOS 또는 Linux의 명령줄에서 SDK 스타일 SQL 프로젝트를 빌드하려면 다음 명령을 사용합니다.
dotnet build /p:NetCoreBuild=true
참고 항목
SDK 스타일 SQL 프로젝트는 현재 미리 보기 상태입니다.
비SDK 스타일 SQL 프로젝트
다음 섹션에서는 Windows, macOS, Linux의 명령줄에서 SDK 스타일이 아닌 SQL 프로젝트로 작업하는 해결 방법을 설명합니다.
필수 조건
SQL Database 프로젝트 확장을 설치하고 구성합니다.
다음 .NET Core dll 및 대상 파일
Microsoft.Data.Tools.Schema.SqlTasks.targets
은 SQL 데이터베이스 프로젝트용 Azure Data Studio 확장에서 지원하는 모든 플랫폼의 명령줄에서 SQL 데이터베이스 프로젝트를 빌드하는 데 필요합니다. 이러한 파일은 Azure Data Studio 인터페이스에서 완료되는 첫 번째 빌드 중에 확장에서 만들어지며BuildDirectory
의 확장 폴더에 배치됩니다. 예를 들어 Linux에서는 이러한 파일이~\.azuredatastudio\extensions\microsoft.sql-database-projects-x.x.x\BuildDirectory\
에 배치됩니다. 다음 11개 파일을 액세스할 수 있는 새 폴더에 복사하거나 해당 위치를 적어 둡니다. 이 문서에서 해당 위치는DotNet Core build folder
입니다.- Microsoft.Data.SqlClient.dll
- Microsoft.Data.Tools.Schema.Sql.dll
- Microsoft.Data.Tools.Schema.SqlTasks.targets
- Microsoft.Data.Tools.Schema.Tasks.Sql.dll
- Microsoft.Data.Tools.Utilities.dll
- Microsoft.SqlServer.Dac.dll
- Microsoft.SqlServer.Dac.Extensions.dll
- Microsoft.SqlServer.TransactSql.ScriptDom.dll
- Microsoft.SqlServer.Types.dll
- System.ComponentModel.Composition.dll
- System.IO.Packaging.dll
Azure Data Studio에서 프로젝트를 만든 경우 명령줄에서 프로젝트 빌드로 건너뜁니다. 프로젝트가 SSDT(SQL Server Data Tools)에서 만들어진 경우 Azure Data Studio SQL 데이터베이스 프로젝트 확장에서 프로젝트를 엽니다. Azure Data Studio에서 프로젝트를 열면 설명된 대로 세 가지 편집을 통해
sqlproj
파일을 자동으로 업데이트합니다.- 가져오기 조건
<Import Condition="'$(NetCoreBuild)' == 'true'" Project="$(NETCoreTargetsPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets"/> <Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets"/> <Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets"/>
- 패키지 참조
<ItemGroup> <PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>
- SSDT(SQL Server Data Tools) 및 Azure Data Studio에서 이중 편집을 지원하는 데 필요한 대상 정리
<Target Name="AfterClean"> <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/> </Target>
명령줄에서 프로젝트 빌드
전체 .NET 폴더에서 다음 명령을 사용합니다.
dotnet build "<sqlproj file path>" /p:NetCoreBuild=true /p:NETCoreTargetsPath="<DotNet Core build folder>"
예를 들어 Linux의 경우 /usr/share/dotnet
에서 다음 명령을 사용합니다.
dotnet build "/home/myuser/Documents/DatabaseProject1/DatabaseProject1.sqlproj" /p:NetCoreBuild=true /p:NETCoreTargetsPath="/home/myuser/.azuredatastudio/extensions/microsoft.sql-database-projects-x.x.x/BuildDirectory"