다음을 통해 공유


SQL 프로젝트 도구

SQL 프로젝트용 도구는 여러 개발 환경 및 명령줄 인터페이스에서 사용할 수 있습니다. SQL 프로젝트의 기본 도구는 SqlPackage 명령줄 유틸리티, Visual Studio의 SQL Server Data Tools (SSDT), Azure Data Studio 및 Visual Studio Code용 SQL Database 프로젝트 확장입니다.

이 문서에 포함된 도구:

그래픽 도구

이러한 도구는 SQL 프로젝트, T-SQL 편집기 및 빌드 및 게시 프로세스에 대한 그래픽 인터페이스를 제공합니다.

SSDT(SQL Server Data Tools)는 SQL 프로젝트에 대한 그래픽 인터페이스를 제공하는 Visual Studio 구성 요소입니다. SSDT는 테이블용 비주얼 디자이너, T-SQL 편집기 및 빌드 및 게시 프로세스를 제공합니다.

SQL 데이터베이스 프로젝트 확장Azure Data Studio(ADS)VS Code의 확장 프로그램입니다. 이 확장은 SQL 프로젝트, T-SQL 편집기 및 빌드 및 게시 프로세스에 대한 그래픽 인터페이스를 제공합니다.

기능 세트 비교

기능 SDK 스타일 SSDT SSDT ADS VS Code
새로운 빈 프로젝트 만들기 X X X X
기존 데이터베이스에서 새 프로젝트 만들기 X X X
기존 Microsoft.Build.Sql 프로젝트 열기 X X X
솔루션 관리 및 운영 X X
프로젝트 실행 빌드 X X X X
기존 서버에 프로젝트 게시 X X X X
로컬 개발 인스턴스에 프로젝트 게시 X1 X1 X2 X2
게시 옵션/속성 X X X
대상 플랫폼 업데이트 가능 X X X X
SQLCMD 변수 X X X X
프로젝트 참조 X X
Dacpac 참조 X X X
패키지 참조 X
게시용 프로필 생성 X X X
프로젝트 폴더에 배치하여 SQL 파일을 추가할 수 있음 X X X
빌드에서 SQL 파일을 제외할 수 있음 X X
배포 전 및 배포 후 스크립트 X X X X
새 개체 템플릿 X3 X X3 X3
프로젝트 파일을 폴더로 구성할 수 있음 X X X X
스키마 비교 프로젝트를 데이터베이스와 비교하기 X X
스키마 비교 프로젝트에 대한 데이터베이스 X X
그래픽 테이블 디자이너 X X
코드 분석 – 규칙 사용/사용 안 함 X
프로젝트 속성 – 빌드 출력 설정 X X
프로젝트 속성 – 기본 스키마 X
프로젝트 속성 – 데이터베이스 설정 X
프로젝트 실행 코드 분석 독립 실행형 X
개체 이름 바꾸기 및 리팩터링 X
프로젝트 모델에서 데이터베이스 파일에 제공된 Intellisense X
SQL Server 개체 탐색기 연결/개체 보기 X X X X
SQL Server 개체 탐색기 상황에 맞는 메뉴 항목 X X X
SQL Server 쿼리 편집기 연결 X X X
  1. 로컬 개발 인스턴스는 SQL Server LocalDB 인스턴스입니다.
  2. 로컬 개발 인스턴스는 SQL Server 컨테이너입니다.
  3. 사용 가능한 템플릿의 제한된 하위 집합

명령줄 도구.

SqlPackage는 DacFx 라이브러리의 기본 명령줄 유틸리티로, 데이터베이스에 .dacpac를 배포하거나 데이터베이스 개체를 SQL 프로젝트 또는 .dacpac에 추출하는 등의 데이터베이스 개발 작업을 자동화할 수 있습니다.

DacFx .NET 라이브러리를 사용하여 사용자 지정 콘솔 애플리케이션을 빌드하여 데이터베이스 개발 작업을 자동화할 수 있습니다. Microsoft.SqlServer.Dac 네임스페이스에는 데이터베이스 개체 만들기, 배포 및 추출을 위한 클래스가 포함되어 있으며 DacFx 라이브러리의 나머지 부분에 기본이 됩니다.

CI/CD 파이프라인은 명령줄 실행 또는 .dacpac 및 SQL 프로젝트 배포에 특정한 작업으로 구축할 수 있습니다. GitHub sql-actionAzure DevOps의 SqlAzureDacpacDeployment는 관리 계층 아래에서 SqlPackage를 사용하여 데이터베이스 변경 내용을 쉽게 배포하는 작업의 예입니다.

변환 도구

기존 SQL 프로젝트를 SDK 스타일 프로젝트로 변환하는 프로세스는 새 SDK 스타일 프로젝트 형식을 포함하도록 파일을 수동으로 편집 .sqlproj 하여 수행됩니다. 프로세스를 시작하기 전에 프로젝트 파일을 백업하고 프로젝트의 .dacpac 버전을 보관하는 것이 좋습니다. 프로젝트에서 빌드된 "before" 및 "after" .dacpac 를 비교하여 변환 프로세스가 올바르게 완료되었는지 확인할 수 있습니다.

프로젝트/솔루션 관리

여러 SQL 프로젝트(및 기타 프로젝트)를 솔루션 파일에서 논리적으로 그룹화할 수 있습니다. 솔루션 파일은 하나 이상의 프로젝트에 대한 컨테이너이며 빌드 작업을 포함하여 프로젝트를 그룹으로 관리하는 데 사용됩니다. 대규모 솔루션을 더 작은 솔루션으로 세분화하여 성능 및 관리 효율성을 개선하거나 적절한 작업에 대해 동적으로 생성할 수 있습니다. slngen 솔루션 파일 생성기는 Microsoft.Build.Sql 프로젝트에 사용할 수 있으며 프로그래밍 방식 및 주문형 프로젝트 집합에 대한 솔루션 파일을 만드는 데 사용할 수 있습니다.

타사 도구

SQL 프로젝트 및 데이터베이스 배포와 관련된 기능을 제공하는 타사 도구를 사용할 수 있습니다. dbatools와 같은 일부 도구는 오픈 소스입니다.

개발자는 코드 분석 규칙 및 배포 계획 사용자 지정을 포함하여 SQL 프로젝트와 관련된 확장성 지점을 활용하는 프로젝트를 공유했습니다. 이러한 프로젝트 중 일부는 다음과 같습니다.