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

次のステップ