다음을 통해 공유


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 작업

조치 Description
버전 SqlPackage 애플리케이션의 빌드 번호를 반환합니다.
추출 연결된 SQL 데이터베이스의 스키마 또는 스키마 및 사용자 데이터를 포함하는 데이터 계층 애플리케이션(.dacpac) 파일을 만듭니다.
게시 원본 .dacpac 파일의 스키마와 일치하도록 데이터베이스 스키마를 증분 방식으로 업데이트합니다. 서버에 데이터베이스가 없으면 게시 작업에서 데이터베이스를 만듭니다. 그렇지 않으면 기존 데이터베이스가 업데이트됩니다.
내보내기 데이터베이스 스키마 및 사용자 데이터를 포함하여 연결된 SQL 데이터베이스를 BACPAC 파일(.bacpac)로 내보냅니다.
가져오기 BACPAC 파일에서 새 사용자 데이터베이스로 스키마 및 테이블 데이터를 가져옵니다.
DeployReport 게시 작업에서 수행할 변경 내용을 나타내는 XML 보고서를 만듭니다.
DriftReport 마지막으로 등록된 이후 등록된 데이터베이스에 적용된 변경 내용을 나타내는 XML 보고서를 만듭니다.
스크립트 대상의 스키마가 원본의 스키마와 일치하도록 업데이트하는 Transact-SQL 증분 업데이트 스크립트를 만듭니다.

메모

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

매개 변수

일부 매개 변수는 SqlPackage 작업 간에 공유됩니다. 다음 표에서는 매개 변수를 요약합니다. 자세한 내용은 테이블 머리글의 링크를 사용하여 특정 작업 페이지를 방문합니다.

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

속성

SqlPackage 작업은 작업의 기본 동작을 수정하기 위해 많은 속성을 지원합니다. 필요에 따라 속성을 사용하려면 명령줄에 추가 /p:PropertyName=Value 합니다. 여러 속성을 지정하고 일부 속성을 두 번 이상 지정할 수 있습니다. 예를 들어 /p:TableData=Product /p:TableData=ProductCategory를 사용할 수 있습니다. 속성에 대한 자세한 내용은 특정 작업 페이지를 참조하세요.

SQLCMD 변수

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

유틸리티 명령

버전

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

SqlPackage /Version

도움말

SqlPackage 사용 정보를 사용 /? 하거나 /help:True 표시합니다.

SqlPackage /?

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

SqlPackage /Action:Publish /?

종료 코드

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

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