다음을 통해 공유


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 프로젝트 열기 X1 X X
솔루션 관리 및 운영 X X
프로젝트 실행 빌드 X X X X
기존 서버에 프로젝트 게시 X X X X
로컬 개발 인스턴스에 프로젝트 게시 X2 X2 X3 X3
게시 옵션/속성 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
새 개체 템플릿 X4 X X4 X4
프로젝트 파일을 폴더로 구성할 수 있음 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. Visual Studio 2022 프리뷰 2에서 SDK 스타일 프로젝트는 .sqlprojx 대신 .sqlproj 확장을 사용합니다.
  2. 로컬 개발 인스턴스는 SQL Server LocalDB 인스턴스입니다.
  3. 로컬 개발 인스턴스는 SQL Server 컨테이너입니다.
  4. 사용 가능한 템플릿의 제한된 하위 집합

명령줄 도구.

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

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

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

타사 도구

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

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