웨어하우스에서 소스 제어(미리 보기)
이 문서에서는 Microsoft Fabric의 웨어하우스에서 Git 통합 및 배포 파이프라인이 작동하는 방법에 대해 설명합니다. 리포지토리에 대한 연결을 설정하고, 웨어하우스를 관리하고, 다양한 환경에 배포하는 방법을 알아봅니다. Fabric 웨어하우스의 소스 제어는 현재 미리 보기 기능입니다.
다양한 시나리오에 대해 Git 통합 및 배포 파이프라인을 모두 사용할 수 있습니다.
- Git 및 SQL 데이터베이스 프로젝트를 사용하여 개별 데이터베이스 개체에서 증분 변경, 팀 공동 작업 및 커밋 기록을 관리합니다.
- 배포 파이프라인을 사용하여 코드 변경 내용을 다양한 사전 프로덕션 및 프로덕션 환경으로 승격합니다.
Git 통합
Microsoft Fabric의 Git 통합을 통해 개발자는 개발 프로세스, 도구 및 모범 사례를 Fabric 플랫폼에 직접 통합할 수 있습니다. Fabric에서 개발하는 개발자는 다음을 수행할 수 있습니다.
- 작업 백업 및 버전 관리
- 필요에 따라 이전 단계로 되돌리기
- 다른 사용자와 협업하거나 Git 분기를 사용하여 단독 작업
- 친숙한 소스 제어 도구의 기능을 적용하여 Fabric 항목 관리
Git 통합 프로세스에 대한 자세한 내용은 다음을 참조하세요.
소스 제어에 연결 설정
작업 영역 설정 페이지에서 변경 내용을 커밋하고 동기화하도록 리포지토리에 대한 연결을 쉽게 설정할 수 있습니다.
- 연결을 설정하려면 Git 통합 시작을 참조하세요. Git 리포지토리 연결 지침에 따라 Azure DevOps 또는 GitHub에 Git 공급자로 연결합니다.
- 연결되면 웨어하우스를 포함한 항목이 소스 제어 패널에 표시됩니다.
- 웨어하우스 인스턴스를 Git 리포지토리에 성공적으로 연결하면 리포지토리에 웨어하우스 폴더 구조가 표시됩니다. 이제 Pull 요청 만들기와 같은 향후 작업을 실행할 수 있습니다.
Git의 웨어하우스에 대한 데이터베이스 프로젝트
다음 이미지는 리포지토리에 있는 각 웨어하우스 항목의 파일 구조 예제입니다.
웨어하우스 항목을 Git 리포지토리에 커밋하면 웨어하우스가 SQL 데이터베이스 프로젝트로 소스 코드 형식으로 변환됩니다. SQL 프로젝트는 테이블, 저장 프로시저 또는 함수와 같은 단일 데이터베이스의 스키마를 구성하는 SQL 개체의 로컬 표현입니다. 데이터베이스 개체의 폴더 구조는 스키마/개체 유형별로 구성됩니다. 웨어하우스의 각 개체는 DDL(데이터 정의 언어) 정의를 포함하는 .sql 파일로 표시됩니다. 웨어하우스 테이블 데이터 및 SQL 보안 기능은 SQL 데이터베이스 프로젝트에 포함되지 않습니다.
공유 쿼리도 리포지토리에 커밋되고 저장되는 이름을 상속합니다.
Fabric 내 웨어하우스의 SQL 데이터베이스 프로젝트 다운로드
Azure Data Studio 및 Visual Studio Code 내에서 사용할 수 있는 SQL Database 프로젝트 확장을 사용하면 웨어하우스 스키마를 관리하고 다른 SQL 데이터베이스 프로젝트와 같은 웨어하우스 개체 변경을 처리할 수 있습니다.
웨어하우스 스키마의 로컬 복사본을 다운로드하려면 리본에서 SQL 데이터베이스 프로젝트 다운로드를 선택합니다.
웨어하우스 스키마의 정의를 포함하는 데이터베이스 프로젝트의 로컬 복사본입니다. 데이터베이스 프로젝트를 사용하여 다음을 수행할 수 있습니다.
- 다른 웨어하우스에서 웨어하우스 스키마를 다시 만듭니다.
- Azure Data Studio 또는 Visual Studio Code와 같은 클라이언트 도구에서 웨어하우스 스키마를 추가로 개발합니다.
새 웨어하우스에 SQL 데이터베이스 프로젝트 게시
새 웨어하우스에 웨어하우스 스키마를 게시하려면 다음을 수행합니다.
- Fabric 작업 영역에서 웨어하우스를 엽니다.
- 새 웨어하우스 시작 페이지의 웨어하우스 빌드 아래에서 SQL 데이터베이스 프로젝트를 선택합니다.
- 기존 웨어하우스에서 다운로드한 .zip 파일을 선택합니다.
- 웨어하우스 스키마가 새 웨어하우스에 게시됩니다.
배포 파이프라인
배포 파이프라인을 사용하여 개발, 테스트, 프로덕션 등 다양한 환경에 웨어하우스 코드를 배포할 수도 있습니다. 배포 파이프라인은 데이터베이스 프로젝트를 노출하지 않습니다.
다음 단계에 따라 배포 파이프라인을 사용하여 웨어하우스 배포를 완료합니다.
- 새 배포 파이프라인을 만들거나 기존 배포 파이프라인을 엽니다. 자세한 내용은 배포 파이프라인 시작을 참조하세요.
- 배포 목표에 따라 작업 영역을 여러 단계에 할당합니다.
- 다음 예제와 같이 여러 단계 간에 웨어하우스를 포함한 항목을 선택하고 보고 비교합니다.
- 배포를 선택하여 개발, 테스트 및 프로덕션 단계에서 웨어하우스를 배포합니다.
Fabric 배포 파이프라인 프로세스에 대한 자세한 내용은 Fabric 배포 파이프라인 개요를 참조하세요.
소스 제어의 제한 사항
- 스크립트 기반 접근 방식을 사용하여 SQL 보안 기능을 내보내거나 마이그레이션해야 합니다. SQL 데이터베이스 프로젝트에서 배포 후 스크립트를 사용해 보세요. 그러면 Azure Data Studio 내에서 사용할 수 있는 SQL Database 프로젝트 확장을 사용하여 프로젝트를 열어 구성할 수 있습니다.
Git 통합의 제한 사항
- 현재 데이터베이스 프로젝트에 제약 조건 또는 열을 추가하는 데
ALTER TABLE
을 사용하면 배포할 때 테이블이 삭제된 후 다시 만들어지므로 데이터가 손실됩니다. 테이블 정의 및 데이터를 유지하려면 다음 해결 방법을 고려하세요.CREATE TABLE
및INSERT
,CREATE TABLE AS SELECT
또는 테이블 복제를 사용하여 웨어하우스에서 테이블의 새 복사본을 만듭니다.ALTER TABLE
을 사용하여 원하는 대로 새 제약 조건 또는 열로 새 테이블 정의를 수정합니다.- 이전 테이블을 삭제합니다.
- sp_rename을 사용하여 새 테이블의 이름을 이전 테이블의 이름으로 바꿉니다.
- 정확히 동일한 방식으로 SQL 데이터베이스 프로젝트의 이전 테이블 정의를 수정합니다. 이제 소스 제어에 있는 웨어하우스와 라이브 웨어하우스의 SQL 데이터베이스 프로젝트가 일치해야 합니다.
- 현재는 웨어하우스에 대한 출력 대상이 있는 Dataflow Gen2를 만들지 마세요. Git에서 커밋하고 업데이트하는 것은 리포지토리에 표시되는
DataflowsStagingWarehouse
라는 이름의 새 항목에 의해 차단됩니다. - SQL 분석 엔드포인트는 Git 통합에서 지원되지 않습니다.
배포 파이프라인에 대한 제한 사항
- 현재 데이터베이스 프로젝트에 제약 조건 또는 열을 추가하는 데
ALTER TABLE
을 사용하면 배포할 때 테이블이 삭제된 후 다시 만들어지므로 데이터가 손실됩니다. - 현재는 웨어하우스에 대한 출력 대상이 있는 Dataflow Gen2를 만들지 마세요. 배포 파이프라인에 표시되는
DataflowsStagingWarehouse
라는 이름의 새 항목에 의해 배포가 차단됩니다. - SQL 분석 엔드포인트는 배포 파이프라인에서 지원되지 않습니다.