Share via


SqlPackage CLI 참조

SqlPackage는 Windows, Linux 및 macOS 환경에서 데이터베이스 이식성 및 배포를 위한 명령줄 유틸리티입니다. SQLPackage CLI(명령줄 인터페이스)는 매개 변수, 속성 및 SQLCMD 변수에 대한 각 호출을 구문 분석합니다.

SqlPackage {parameters} {properties} {SQLCMD variables}
  • 매개 변수 는 수행할 작업, 원본 및 대상 데이터베이스 및 기타 일반 설정을 지정하는 데 사용됩니다.
  • 속성 은 작업의 기본 동작을 수정하는 데 사용됩니다.
  • SQLCMD 변수는 원본 파일의 SQLCMD 변수에 값을 전달하는 데 사용됩니다.

SqlPackage 명령을 만들려면 작업 및 추가 매개 변수를 지정해야 합니다. 필요에 따라 속성 및 SQLCMD 변수를 추가하여 명령을 추가로 사용자 지정할 수 있습니다.

다음 예제에서는 SqlPackage를 사용하여 현재 데이터베이스 스키마의 .dacpac 파일을 만듭니다.

SqlPackage /Action:Extract /TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac" \
 /SourceServerName:"localhost" /SourceDatabaseName:"Contoso" \
 /p:IgnoreUserLoginMappings=True /p:Storage=Memory

이 예제에서 매개 변수는 다음과 같습니다.

  • /Action:Extract
  • /TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac"
  • /SourceServerName:"localhost"
  • /SourceDatabaseName:"Contoso"

이 예제에서 속성은 다음과 같습니다.

  • /p:IgnoreUserLoginMappings=True
  • /p:Storage=Memory

SqlPackage 작업

  • 버전: SqlPackage 애플리케이션의 빌드 번호를 반환합니다.

  • 추출: 연결된 SQL 데이터베이스의 스키마 또는 스키마와 사용자 데이터를 포함하는 데이터 계층 애플리케이션(.dacpac) 파일을 만듭니다.

  • 게시: 원본 .dacpac 파일의 스키마와 일치하도록 데이터베이스 스키마를 증분식으로 업데이트합니다. 서버에 데이터베이스가 없으면 게시 작업에서 데이터베이스를 만듭니다. 존재하는 경우 기존 데이터베이스가 업데이트됩니다.

  • Export: 데이터베이스 스키마 및 사용자 데이터를 포함하여 연결된 SQL 데이터베이스를 BACPAC 파일(.bacpac)로 내보냅니다.

  • Import: BACPAC 파일의 스키마 및 테이블 데이터를 새 사용자 데이터베이스로 가져옵니다.

  • DeployReport: 게시 작업에서 수행할 변경 내용을 나타내는 XML 보고서를 만듭니다.

  • DriftReport: 마지막으로 등록된 이후 등록된 데이터베이스에 적용된 변경 내용을 나타내는 XML 보고서를 만듭니다.

  • 스크립트: 대상의 스키마가 원본의 스키마와 일치하도록 업데이트하는 Transact-SQL 증분 업데이트 스크립트를 만듭니다.

참고 항목

Microsoft Entra ID는 Azure AD(Azure Active Directory)의 새 이름이지만, 기존 환경의 중단을 방지하기 위해 UI 필드, 연결 공급자, 오류 코드 및 cmdlet과 같은 일부 하드 코딩된 요소에는 여전히 Azure AD가 남아 있습니다. 이 문서에서는 두 이름을 혼용할 수 있습니다.

매개 변수

일부 매개 변수는 SqlPackage 작업 간에 공유됩니다. 다음은 매개 변수를 요약한 표입니다. 자세한 내용은 특정 작업 페이지를 클릭합니다.

매개 변수 약식 추출 게시 내보내기 가져오기 DeployReport DriftReport 스크립트
/AccessToken: /at x x x x x x x
/ClientId: /cid x
/DeployScriptPath: /dsp x x
/DeployReportPath: /drp x x
/Diagnostics: /d x x x x x x x
/DiagnosticsFile: /df x x x x x x x
/MaxParallelism: /mp x x x x x x x
/OutputPath: /op x x x
/OverwriteFiles: /of x x x x x x
/Profile: /pr x x x
/Properties: /p x x x x x x
/Quiet: /q x x x x x x x
/Secret: /secr x
/SourceConnectionString: /scs x x x x x
/SourceDatabaseName: /sdn x x x x x
/SourceEncryptConnection: /sec x x x x x
/SourceFile: /sf x x x x
/SourcePassword: /sp x x x x x
/SourceServerName: /ssn x x x x x
/SourceTimeout: /st x x x x x
/SourceTrustServerCertificate: /stsc x x x x x
/SourceUser: /su x x x x x
/TargetConnectionString: /tcs x x x x
/TargetDatabaseName: /tdn x x x x x
/TargetEncryptConnection: /tec x x x x x
/TargetFile: /tf x x x x
/TargetPassword: /tp x x x x x
/TargetServerName: /tsn x x x x x
/TargetTimeout: /tt x x x x x
/TargetTrustServerCertificate: /ttsc x x x x x
/TargetUser: /tu x x x x x
/TenantId: /tid x x x x x x x
/UniversalAuthentication: /ua x x x x x x x
/Variables: /v x x

속성

SqlPackage 작업은 작업의 기본 동작을 수정할 수 있는 다양한 속성을 지원합니다. 속성의 선택적 사용은 명령줄에 추가하여 /p:PropertyName=Value 수행됩니다. 여러 속성을 지정할 수 있으며 일부 속성을 두 번 이상 지정할 수 있습니다(예: /p:TableData=Product /p:TableData=ProductCategory). 속성에 대한 자세한 내용은 특정 작업 페이지를 참조하세요.

SQLCMD 변수

SQLCMD 변수는 SQL 프로젝트에서 .dacpac 파일에 빌드한 다음 SqlPackage 게시 또는 스크립트를 사용하여 배포하는 동안 설정할 수 있습니다. SQL 프로젝트에 SQLCMD 변수를 추가하는 방법에 대한 자세한 내용은 SQL 프로젝트 설명서를 참조 하세요.

유틸리티 명령

버전

sqlpackage 버전을 빌드 번호로 표시합니다. 대화형 프롬프트 및 자동화된 파이프라인에서 사용할 수 있습니다.

SqlPackage /Version

도움말

/? 또는 /help:True를 사용하여 SqlPackage 사용 정보를 표시할 수 있습니다.

SqlPackage /?

특정 작업에 대한 특정한 매개 변수 및 속성 정보의 경우 해당 작업의 매개 변수 외에 도움말 매개 변수도 사용합니다.

SqlPackage /Action:Publish /?

종료 코드

SqlPackage 명령은 다음 종료 코드를 반환합니다.

  • 0 = 성공
  • 0이 아닌 값 = 실패

다음 단계