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이 아닌 값 = 실패
다음 단계
- SqlPackage 추출에 관한 자세한 정보
- SqlPackage 게시에 관한 자세한 정보
- SqlPackage 내보내기에 관한 자세한 정보
- SqlPackage 가져오기에 관한 자세한 정보
- SqlPackage 문제 해결에 대해 자세히 알아보기
- DacFx GitHub 리포지토리에서 SqlPackage에 대한 피드백 공유