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 アプリケーションのビルド番号が返されます。
Extract: 接続されている SQL データベースから、スキーマまたはスキーマとユーザー データを含め、データ層アプリケーション (.dacpac) ファイルを作成します。
発行:ソース .dacpac ファイルのスキーマに合わせてデータベース スキーマの増分更新を行います。 データベースがサーバーに存在しない場合は、公開操作によって作成されます。 存在する場合は、既存のデータベースが更新されます。
Export:接続されている SQL データベースを、データベース スキーマとユーザー データを含め、BACPAC ファイル (.bacpac) にエクスポートします。
Import:BACPAC ファイルから新しいユーザー データベースにスキーマとテーブル データをインポートします。
DeployReport: 公開アクションによって行われる変更に関する XML レポートを作成します。
DriftReport:登録されたデータベースに対して最終登録以降に適用された変更に関する XML レポートを作成します。
Script: ソースのスキーマに合わせてターゲットのスキーマを更新する、Transact-SQL の増分更新スクリプトを作成します。
Note
Microsoft Entra ID はAzure Active Directory (Azure AD) の新しい名前ですが、既存の環境の中断を防ぐために、UI フィールド、接続プロバイダー、エラー コード、コマンドレットなど、ハードコーディングされた一部の要素でAzure AD が残ります。 この記事では、2 つの名前は交換可能です。
パラメーター
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 プロジェクトのドキュメントを 参照してください。
ユーティリティ コマンド
Version
sqlpackage のバージョンをビルド番号として表示します。 対話型プロンプトや自動化されたパイプラインでも使用できます。
SqlPackage /Version
Help
/?
または /help:True
を使用して、SqlPackage の使用方法に関する情報を表示できます。
SqlPackage /?
特定の操作に固有のパラメーターとプロパティの情報については、その操作のパラメーターに加えてヘルプ パラメーターを使用します。
SqlPackage /Action:Publish /?
終了コード
SqlPackage コマンドは次の終了コードを返します。
- 0 = 成功
- nonzero = failure
次のステップ
- SqlPackage Extract について詳しく学習する
- SqlPackage Publish について詳しく学習する
- SqlPackage Export について詳しく学習する
- SqlPackage Import について詳しく学習する
- SqlPackage に関する問題のトラブルシューティングの詳細
- DacFx GitHub リポジトリの SqlPackage に関するフィードバックを 共有する