다음을 통해 공유


Microsoft Fabric의 SQL Database용 SqlPackage

적용 대상:Microsoft Fabric의 SQL 데이터베이스

이 자습서에서는 Fabric의 SQL 데이터베이스에서 SqlPackage를 사용하는 방법을 알아봅니다.

SqlPackage는 데이터베이스 이식성데이터베이스 배포를 제공하는 CLI입니다.

  • Azure 또는 Fabric에서 관리되는 데이터베이스의 이식성(가져오기/내보내기)을 사용하면 나중에 마이그레이션하려는 경우 SQL Server 또는 Azure SQL Managed Instance를 비롯한 다른 플랫폼으로 데이터를 이식할 수 있습니다.
  • 또한 동일한 이식성을 사용하면 가져오기/내보내기 작업을 통해 자체 포함된 데이터베이스 복사본(.bacpac)을 통해 특정 마이그레이션 시나리오를 수행할 수 있습니다.

SqlPackage를 사용하면 데이터베이스 개체에 대한 증분 변경 내용(테이블의 새 열, 기존 저장 프로시저 변경 등)을 쉽게 데이터베이스에 배포할 수 있습니다.

  • SqlPackage는 .dacpac 데이터베이스의 개체 정의가 포함된 파일을 추출하고 새 데이터베이스 또는 기존 데이터베이스에 해당 개체 상태를 적용하는 파일을 게시 .dacpac 할 수 있습니다.
  • 또한 게시 작업은 SQL 프로젝트와 통합되어 SQL 데이터베이스에 대한 오프라인 및 보다 동적 개발 주기를 가능하게 합니다.

필수 조건

설정

SqlPackage는 Windows, macOS 및 Linux에서 dotnet 도구로 사용할 수 있습니다. 다음 명령을 사용하여 설치할 수 있습니다.

dotnet tool install --global Microsoft.SqlPackage

전역 dotnet 도구인 SqlPackage는 모든 폴더와 마찬가지로 sqlpackage 터미널에서 사용할 수 있습니다.

SqlPackage를 사용하여 데이터베이스 가져오기

A .bacpac 는 일부 마이그레이션 및 테스트 시나리오에 유용한 데이터베이스의 이식 가능한 복사본입니다. 빈 .bacpac SQL 데이터베이스로 가져올 수 있습니다.

참고 항목

A .bacpac 는 백업 또는 백업/복원 기능을 대체하는 것이 아닙니다. Fabric SQL 데이터베이스의 백업에 대한 자세한 내용은 Microsoft Fabric의 SQL 데이터베이스에서 자동 백업을 참조하고 Microsoft Fabric의 SQL 데이터베이스 백업에서 복원을 참조하세요.

  1. Azure SQL Database 환경에서 사용하는 .bacpac 경우 패브릭 SQL 데이터베이스 T-SQL 노출 영역을 충족하도록 원본 데이터베이스를 변경해야 할 수 있습니다.

  2. 패브릭 인터페이스를 통해 평소와 같이 패브릭 에서 새 SQL 데이터베이스를 만듭니다.

  3. 설정에서 연결 문자열 복사합니다.

    SQL 데이터베이스의 연결 문자열 페이지를 보여 주는 패브릭 포털의 스크린샷

  4. sqlpackage 폴더의 터미널에서 가져오기 명령을 사용합니다. 소유자 <servername><database_name>을 입력합니다.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.windows.net,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • SQL 데이터베이스 설정 대화 상자에서 연결 문자열 바꿉니다.
    • sourcefile 값을 .bacpac 이름(DatabaseName)과 location 로컬 컴퓨터로 바꿉니다.

가져오기에 대한 자세한 내용은 SqlPackage 가져오기를 참조하세요.

SqlPackage를 사용하여 데이터베이스 내보내기

내보내 .bacpac 기는 이전 예제와 sourceconnectionstring 같이 SQL 데이터베이스 설정 대화 상자에서 찾을 수 있는 targetfile 역방향 작업입니다.bacpac. 소유자 <servername><database_name>을 입력합니다. 예시:

sqlpackage.exe /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.windows.net,1433;Initial    Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

내보내 기에 대한 자세한 내용은 SqlPackage 내보내기 참조

추출 및 게시

SQL Database 프로젝트에서 스키마 변경 내용을 이동할 수 있는 방법의 다이어그램

A .dacpac 는 원본 데이터베이스의 테이블, 저장 프로시저 및 기타 개체에 대한 정의를 포함하는 데이터베이스 스키마 모델 파일입니다.

SqlPackage는 새(빈) 데이터베이스에 배포 .dacpac 하거나 원하는 .dacpac 상태와 일치하도록 기존 데이터베이스를 증분 방식으로 업데이트할 수 있습니다.

  • 추출 은 기존 데이터베이스에서 a .dacpac 또는 sql 파일을 만듭니다.
  • 게시 는 데이터베이스에 .dacpac 배포합니다.

SqlPackage 게시 구문은 import/export 명령과 유사합니다.