SqlPackage Publish のパラメーター、プロパティ、SQLCMD 変数

SqlPackage の発行操作では、ターゲット データベースのスキーマを、ソース データベースの構造に合わせて増分更新します。 すべてまたは一部のテーブルのユーザー データを含む配置パッケージを公開すると、スキーマに加え、テーブル データが更新されます。 データの配置により、ターゲット データベースの既存のテーブル内のスキーマとデータが上書きされます。 データの配置では、配置パッケージに含まれていないテーブルについて、ターゲット データベース内の既存のスキーマまたはデータは変更されません。 認証されたユーザーにデータベースを作成するアクセス許可が付与されているとき、新しいデータベースをパブリッシュ アクションで作成できます。 既存のデータベースに対するパブリッシュ アクションに必要なアクセス許可は db_owner です。

Note

Microsoft Entra ID はAzure Active Directory (Azure AD) の新しい名前ですが、既存の環境の中断を防ぐために、UI フィールド、接続プロバイダー、エラー コード、コマンドレットなど、ハードコーディングされた一部の要素でAzure AD が残ります。 この記事では、2 つの名前は交換可能です。

コマンドライン構文

SqlPackage を使うと、コマンド ラインで指定したパラメーター、プロパティ、SQLCMD 変数を使って、指定した操作を開始できます。

SqlPackage /Action:Publish {parameters} {properties} {sqlcmd variables}

注意

SQL 認証ユーザー資格情報のあるデータベースが抽出されると、パスワードは適切な複雑度を持つ別パスワードに置換されます。 dacpac の公開後にユーザー パスワードが変更されることが前提となります。

# example publish from Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Persist Security Info=False;User ID=sqladmin;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

# example publish using short form parameter names, skips schema validation
SqlPackage /a:Publish /tsn:"{yourserver}.database.windows.net,1433" /tdn:"AdventureWorksLT" /tu:"sqladmin" \
    /tp:"{your_password}" /sf:"C:\AdventureWorksLT.dacpac" /p:VerifyDeployment=False

# example publish using Microsoft Entra managed identity
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

# example publish connecting using Microsoft Entra username and password
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;User ID={yourusername};Password={yourpassword}"

# example publish connecting using Microsoft Entra universal authentication
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" /UniversalAuthentication:True \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

# example publish with 2 SQLCMD variables
# as seen in a post deployment script for user passwords
# https://github.com/Azure-Samples/app-sql-devops-demo-project/blob/main/sql/wwi-dw-ssdt/PostDeploymentScripts/AddUsers.sql
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Persist Security Info=False;User ID=sqladmin;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" \
    /v:ETLUserPassword="asecurestringaddedhere" /v:AppUserPassword="asecurestringaddedhere"
# example publish connecting using an access token associated with a service principal
$Account = Connect-AzAccount -ServicePrincipal -Tenant $Tenant -Credential $Credential
$AccessToken_Object = (Get-AzAccessToken -Account $Account -Resource "https://database.windows.net/")
$AccessToken = $AccessToken_Object.Token

SqlPackage /at:$AccessToken /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# OR
SqlPackage /at:$($AccessToken_Object.Token) /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

Publish 操作のパラメーター

パラメーター 短い形式 説明
/AccessToken: /at: {string} ターゲット データベースに接続するときに使用するトークンベースの認証アクセス トークンを指定します。
/Action: /a: 発行 実行する操作を指定します。
/AzureCloudConfig: /acc: {string} Microsoft Entra ID に接続するカスタム エンドポイントを、AzureActiveDirectoryAuthority={value};DatabaseServicePrincipalName={value}" の形式で指定します。
/AzureKeyVaultAuthMethod: /akv: {Interactive|ClientIdSecret} 公開操作に暗号化されているテーブルや列の変更が含まれている場合、Azure Key Vault にアクセスするためにどの認証方法を使用するかを指定します。
/ClientId: /cid: {string} 必要な場合、Azure Key Vault に対する認証に使用されるクライアント ID を指定します
/DeployReportPath: /drp: {string} 配置レポートの xml ファイルを出力する省略可能なファイル パスを指定します。
/DeployScriptPath: /dsp: {string} 配置スクリプトを出力する省略可能なファイル パスを指定します。 Azure の配置では、master データベースを作成または変更するための Transact-SQL コマンドがある場合、スクリプトは同じパスに書き込まれますが、出力ファイル名として "Filename_Master.sql" が使用されます。
/Diagnostics: /d: {True|False} 診断ログがコンソールへの出力かどうかを指定します。 既定値は False です。
/DiagnosticsFile: /df: {string} 診断ログを保存するファイルを指定します。
/MaxParallelism: /mp: {int} 1 つのデータベースに対して実行される同時実行操作の並列処理の次数を指定します。 既定値は 8 です。
/ModelFilePath: /mfp: {string} ソース ファイル内の model.xml を上書きするファイル パスを指定します。 この設定を使用すると、配置エラーや意図しないデータ損失が発生するおそれがあります。 この設定は、発行、インポート、またはスクリプトの生成に関する問題のトラブルシューティングを行う場合にのみ使用することを目的としています。
/OverwriteFiles: /of: {True|False} SqlPackage が既存のファイルを上書きするかどうかを指定します。 False を指定すると、既存のファイルが検出された場合に SqlPackage の操作が中止します。 既定値は True です。
/Profile: /pr: {string} DAC 公開プロファイルのファイル パスを指定します。 出力の生成時に使用するプロパティと変数のコレクションをプロファイルで定義します。
/Properties: /p: {PropertyName}={Value} 操作固有のプロパティの名前と値のペア ({PropertyName}={Value}) を指定します。
/Quiet: /q: {True|False} 詳細なフィードバックを非表示にするかどうかを指定します。 既定値は False です。
/ReferencePaths: /rp: {PropertyName}={Value} .dacpac 参照を検索する追加のディレクトリを指定します。
/Secret: /secr: {string} 必要な場合、Azure Key Vault に対する認証に使用されるクライアント シークレットを指定します
/SourceFile: /sf: {string} ローカル ストレージのデータベースではなく、ソース ファイルを操作のソースとして使用するように指定します。 このパラメーターを使用した場合、他のソース パラメーターは無効になります。
/SourceConnectionString: /scs: {string} ソース データベースの有効な SQL Server または SQL Azure 接続文字列を指定します。 このパラメーターを指定する場合、他のどのソース パラメーターとも同時には使用できません。
/SourceDatabaseName: /sdn: {string} ソース データベースの名前を定義します。
/SourceEncryptConnection: /sec: {Optional|Mandatory|Strict|True|False} ソース データベース接続に SQL 暗号化を使用するかどうかを指定します。 既定値は True です。
/SourceHostNameInCertificate: /shnic: {string} 通信レイヤーが TLS を使って暗号化されているときに、ソース SQL Server の TLS/SSL 証明書の検証に使われる値を指定します。
/SourcePassword: /sp: {string} SQL Server 認証シナリオでは、ソース データベースへのアクセスに使用するパスワードを定義します。
/SourceServerName: /ssn: {string} ソース データベースをホストしているサーバーの名前を定義します。
/SourceTimeout: /st: {int} ソース データベースへの接続を確立する際のタイムアウトを秒単位で指定します。
/SourceTrustServerCertificate: /stsc: {True|False} TLS を使用してソース データベースへの接続を暗号化し、証明書チェーンを検証せずに信頼を確認するかどうかを指定します。 既定値は False です。
/SourceUser: /su: {string} SQL Server 認証シナリオでは、ソース データベースへのアクセスに使用する SQL Server ユーザーを定義します。
/TargetConnectionString: /tcs: {string} ターゲット データベースの有効な SQL Server または Azure 接続文字列を指定します。 このパラメーターを指定する場合、他のどのターゲット パラメーターとも同時には使用できません。
/TargetDatabaseName: /tdn: {string} SqlPackage 操作のターゲットとなるデータベースの名前のオーバーライドを指定します。
/TargetEncryptConnection: /tec: {Optional|Mandatory|Strict|True|False} ターゲット データベース接続に SQL 暗号化を使用するかどうかを指定します。 既定値は True です。
/TargetHostNameInCertificate: /thnic: {string} 通信レイヤーが TLS を使って暗号化されているときに、ターゲット SQL Server の TLS/SSL 証明書の検証に使われる値を指定します。
/TargetPassword: /tp: {string} SQL Server 認証シナリオでは、ターゲット データベースへのアクセスに使用するパスワードを定義します。
/TargetServerName: /tsn: {string} ターゲット データベースをホストしているサーバーの名前を定義します。
/TargetTimeout: /tt: {int} ターゲット データベースへの接続を確立するためのタイムアウトを秒単位で指定します。 Microsoft Entra ID の場合、この値は 30 秒以上にすることをお勧めします。
/TargetTrustServerCertificate: /ttsc: {True|False} TLS を使用してターゲット データベースへの接続を暗号化し、証明書チェーンを検証せずに信頼を確認するかどうかを指定します。 既定値は False です。
/TargetUser: /tu: {string} SQL Server 認証シナリオでは、ターゲット データベースへのアクセスに使用する SQL Server ユーザーを定義します。
/TenantId: /tid: {string} Microsoft Entra テナント ID または ドメイン名を表します。 このオプションは、ゲストまたはインポートされた Microsoft Entra ユーザーと Microsoft アカウント (outlook.com、hotmail.com、live.com など) をサポートするために必要です。 このパラメーターを省略すると、認証されたユーザーがこのテナントのネイティブ ユーザーであると想定して、Microsoft Entra ID の既定のテナント ID が使用されます。 ただし、この場合、ゲスト、またはこの Microsoft Entra ID でホストされているインポートされたユーザーと Microsoft アカウントはサポートされず、操作は失敗します。
詳細については、SQL Database と Azure Synapse Analytics を使用したユニバーサル認証 (SSMS での MFA のサポート) に関するページをご覧ください。
/ThreadMaxStackSize: /tmss: {int} SqlPackage 操作を実行するスレッドの最大サイズを MB 単位で指定します。 このオプションは、非常に大きな Transact-SQL ステートメントを解析するときに発生するスタック オーバーフロー例外が発生した場合にのみ使用してください。
/UniversalAuthentication: /ua: {True|False} ユニバーサル認証を使用するかどうかを指定します。 True に設定すると、対話型認証プロトコルがアクティブになり、MFA がサポートされます。 このオプションは、ユーザーによるユーザー名とパスワードの入力を必要とする対話型プロトコルまたは統合認証 (Windows 認証情報) を使用した、MFA なしの Microsoft Entra 認証に使用することもできます。 /UniversalAuthentication が True に設定されているときは、SourceConnectionString (/scs) で Microsoft Entra 認証を指定することはできません。 /UniversalAuthentication が False に設定されているときは、SourceConnectionString (/scs) で Microsoft Entra 認証を指定する必要があります。
Active Directory ユニバーサル認証の詳細については、SQL Database と Azure Synapse Analytics を使用したユニバーサル認証 (SSMS での MFA のサポート) に関するページをご覧ください。
/Variables: /v: {PropertyName}={Value} 操作固有の変数の名前と値のペア ({VariableName}={Value}) を指定します。 DACPAC ファイルには、有効な SQLCMD 変数の一覧が含まれます。 すべての変数に値を指定しないと、エラーが発生します。

公開アクションに固有のプロパティ

プロパティ 説明
/p: AdditionalDeploymentContributorArguments=(STRING) 配置コントリビューターに追加の配置コントリビューター引数を指定します。 このプロパティは、セミコロンで区切られた値のリストである必要があります。
/p: AdditionalDeploymentContributorPaths=(STRING) 追加の配置コントリビューターを読み込むためのパスを指定します。 このプロパティは、セミコロンで区切られた値のリストである必要があります。
/p: AdditionalDeploymentContributors=(STRING) dacpac を配置するときに実行する必要がある、追加の配置コントリビューターを指定します。 このプロパティは、完全修飾のビルド共同作成者名か ID の、セミコロンで区切られたリストである必要があります。
/p: AllowDropBlockingAssemblies=(BOOLEAN 'False') このプロパティは、ブロックしているアセンブリを配置計画から削除する際に SqlClr の配置によって使用されます。 既定では、参照しているアセンブリを削除する必要がある場合、ブロックまたは参照しているアセンブリによって、アセンブリの更新がブロックされます。
/p: AllowExternalLanguagePaths=(BOOLEAN 'False') 使用可能な場合は、外部言語ステートメントの生成にファイル パスを使用できるようにします。
/p: AllowExternalLibraryPaths=(BOOLEAN 'False') 使用可能な場合は、外部ライブラリ ステートメントの生成にファイル パスを使用できるようにします。
/p: AllowIncompatiblePlatform=(BOOLEAN 'False') 互換性がない SQL Server プラットフォームであっても操作を試行するかどうかを指定します。
/p: AllowTableRecreation=(BOOLEAN 'True') スキーマの変更を実行するために必要な場合に、デプロイ中にテーブルの再作成を許可するかどうかを指定します。 テーブル再作成では、データを保持しながらテーブルを再構築しますが、パフォーマンスに大きな影響を与える場合があります。
/p: AllowUnsafeRowLevelSecurityDataMovement=(BOOLEAN 'False') このプロパティが true に設定されている場合は、行レベル セキュリティを使用するテーブルに対するデータ モーションをブロックしません。 既定値は false です。
/p: AzureSharedAccessSignatureToken=(STRING) Azure Shared Access Signature (SAS) トークン。 「Azure Synapse Analytics の SqlPackage」および「Parquet ファイル内のデータを含む SqlPackage」を参照してください。
/p: AzureStorageBlobEndpoint=(STRING) Azure Blob Storage エンドポイントについては、「Azure Synapse Analytics の SqlPackage」および「Parquet ファイル内のデータを含む SqlPackage」を参照してください。
/p: AzureStorageContainer=(STRING) Azure Blob Storage コンテナーについては、「Azure Synapse Analytics の SqlPackage」および「Parquet ファイル内のデータを含む SqlPackage」を参照してください。
/p: AzureStorageKey=(STRING) Azure ストレージ アカウント キーについては、「Azure Synapse Analytics の SqlPackage」および「Parquet ファイル内のデータを含む SqlPackage」を参照してください。
/p: AzureStorageRootPath=(STRING) コンテナー内のストレージ ルート パス。 このプロパティがない場合、パスの既定値は servername/databasename/timestamp/ になります。 「Azure Synapse Analytics の SqlPackage」および「Parquet ファイル内のデータを含む SqlPackage」を参照してください。
/p: BackupDatabaseBeforeChanges=(BOOLEAN 'False') 変更を配置する前にデータベースをバックアップします。 このプロパティは、Azure SQL Database には適用されません。
/p: BlockOnPossibleDataLoss=(BOOLEAN 'True') データの精度の低下やキャスト操作を必要とするデータ型の変更などによるスキーマの変更によって、データが失われるおそれがある場合は、スキーマ検証ステップ中に操作を終了することを指定します。 既定値 (True) を指定すると、ターゲット データベースにデータが含まれているかどうかに関係なく、操作が終了します。 ターゲットに新しい列の型に変換できないデータが存在する場合、BlockOnPossibleDataLoss に False 値を指定して実行すると、配置計画の実行中に失敗するおそれがあります。
/p: BlockWhenDriftDetected=(BOOLEAN 'True') スキーマがその登録と一致しないか、スキーマが登録されていないデータベースの更新をブロックするかどうかを指定します。
/p: CommandTimeout=(INT32 '60') SQL Server に対してクエリを実行するときのコマンドのタイムアウト (秒) を指定します。
/p: CommentOutSetVarDeclarations=(BOOLEAN 'False') 生成する公開スクリプトで SETVAR 変数の宣言をコメント アウトするかどうかを指定します。 このようなコメント アウトが必要になるのは、SQLCMD.EXE などのツールを使用して、公開時にコマンド ラインで値を指定する予定がある場合などです。
/p: CompareUsingTargetCollation=(BOOLEAN 'False') この設定では、配置の際にデータベースの照合順序をどのように処理するかを指定します。既定では、ソースで指定されている照合順序と異なる場合にターゲット データベースの照合順序が更新されます。 このオプションを設定した場合、ターゲット データベース (またはサーバー) の照合順序が使用されます。
/p: CreateNewDatabase=(BOOLEAN 'False') データベースへの公開時に、ターゲット データベースを更新するか、削除して再作成するかを指定します。
/p: DatabaseEdition=({ Basic | Standard | Premium | DataWarehouse | GeneralPurpose | BusinessCritical | Hyperscale | Default } 'Default') Azure SQL Database のエディションを定義します。 詳細は、「Azure SQL Database サービス レベル」を参照してください。
/p: DatabaseLockTimeout=(INT32 '60') SQLServer に対してクエリを実行するときのデータベース ロックのタイムアウトを秒単位で指定します。 無期限に待機するには、-1 を使用します。
/p: DatabaseMaximumSize=(INT32 '0') Azure SQL Database の最大サイズを GB 単位で定義します。
/p: DatabaseServiceObjective=(STRING) Azure SQL Database のパフォーマンス レベル ("P0" や "S1" など) を定義します。
/p: DeployDatabaseInSingleUserMode=(BOOLEAN 'False') true の場合、データベースは配置前にシングル ユーザー モードに設定されます。
/p: DisableAndReenableDdlTriggers=(BOOLEAN 'True') 公開プロセスの開始時にデータ定義言語 (DDL) トリガーを無効にして、公開操作の最後に再度有効にするかどうかを指定します。
/p: DisableIndexesForDataPhase=(BOOLEAN 'True') SQL Server にデータをインポートする前にインデックスを無効にします。
/p: DisableParallelismForEnablingIndexes=(BOOLEAN 'False') SQL Server へのデータのインポート中に、インデックスを再構築するときは並列実行を使用しません。
/p: DoNotAlterChangeDataCaptureObjects=(BOOLEAN 'True') true の場合、Change Data Capture オブジェクトは変更されません。
/p: DoNotAlterReplicatedObjects=(BOOLEAN 'True') レプリケートされたオブジェクトが、検証時に識別されるかどうかを指定します。
/p: DoNotDropDatabaseWorkloadGroups=(BOOLEAN 'False') false の場合、ソースで定義されていないターゲット データベースの Database WorkloadGroups は配置時にドロップされます。
/p: DoNotDropObjectType=(STRING) DropObjectsNotInSource が true の場合、削除されないオブジェクトの種類。 有効なオブジェクトの種類の名前は Aggregates、ApplicationRoles、Assemblies、AssemblyFiles、AsymmetricKeys、BrokerPriorities、Certificates、ColumnEncryptionKeys、ColumnMasterKeys、Contracts、DatabaseOptions、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、ExternalDataSources、ExternalFileFormats、ExternalTables、Filegroups、Files、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、SecurityPolicies、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、DatabaseEncryptionKeys、DatabaseScopedCredentials、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、MasterKeys、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers、ExternalStreams、ExternalStreamingJobs、DatabaseWorkloadGroups、WorkloadClassifiers、ExternalLibraries、ExternalLanguages です。 このプロパティは、複数のオプションを示すために複数回指定できます。
/p: DoNotDropObjectTypes=(STRING) DropObjectsNotInSource が true の場合に削除されない、オブジェクトの種類のセミコロン区切りリスト。 有効なオブジェクトの種類の名前は Aggregates、ApplicationRoles、Assemblies、AssemblyFiles、AsymmetricKeys、BrokerPriorities、Certificates、ColumnEncryptionKeys、ColumnMasterKeys、Contracts、DatabaseOptions、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、ExternalDataSources、ExternalFileFormats、ExternalTables、Filegroups、Files、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、SecurityPolicies、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、DatabaseEncryptionKeys、DatabaseScopedCredentials、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、MasterKeys、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers、ExternalStreams、ExternalStreamingJobs、DatabaseWorkloadGroups、WorkloadClassifiers、ExternalLibraries、ExternalLanguages です。
/p: DoNotDropWorkloadClassifiers=(BOOLEAN 'False') false の場合、ソースで定義されていないターゲット データベースの WorkloadClassifiers は配置時にドロップされます。
/p: DoNotEvaluateSqlCmdVariables=(BOOLEAN 'True') SQLCMD 変数を値に置換しないかどうかを指定します
/p: DropConstraintsNotInSource=(BOOLEAN 'True') データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない制約を削除するかどうかを指定します。
/p: DropDmlTriggersNotInSource=(BOOLEAN 'True') データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない DML トリガーを削除するかどうかを指定します。
/p: DropExtendedPropertiesNotInSource=(BOOLEAN 'True') データベースに公開するとき、データベース スナップショット (.dacpac) ファイルに存在しない拡張プロパティをターゲット データベースから削除するかどうかを指定します。
/p: DropIndexesNotInSource=(BOOLEAN 'True') データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないインデックスを削除するかどうかを指定します。
/p: DropObjectsNotInSource=(BOOLEAN 'False') データベースへの公開時に、データベース スナップショット (.dacpac) ファイルに存在しないオブジェクトをターゲット データベースから削除するかどうかを指定します。 この値は DropExtendedProperties よりも優先されます。
/p: DropPermissionsNotInSource=(BOOLEAN 'False') データベースへの更新の公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないアクセス許可を削除するかどうかを指定します。
/p: DropRoleMembersNotInSource=(BOOLEAN 'False') データベースへの更新の公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルで定義されていないロール メンバーを削除するかどうかを指定します。
/p: DropStatisticsNotInSource=(BOOLEAN 'True') データベースに公開するとき、データベース スナップショット (.dacpac) ファイルに存在しない統計をターゲット データベースから削除するかどうかを指定します。
/p: EnclaveAttestationProtocol=(STRING) エンクレーブ ベースの Always Encrypted で使用する構成証明プロトコルを指定します。
/p: EnclaveAttestationUrl=(STRING) エンクレーブ ベースの Always Encrypted で使用するエンクレーブ構成証明 URL (構成証明サービス エンドポイント) を指定します。
/p: ExcludeObjectType=(STRING) 配置時に無視するオブジェクトの種類。 有効なオブジェクトの種類の名前は Aggregates、ApplicationRoles、Assemblies、AssemblyFiles、AsymmetricKeys、BrokerPriorities、Certificates、ColumnEncryptionKeys、ColumnMasterKeys、Contracts、DatabaseOptions、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、ExternalDataSources、ExternalFileFormats、ExternalTables、Filegroups、Files、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、SecurityPolicies、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、DatabaseEncryptionKeys、DatabaseScopedCredentials、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、MasterKeys、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers、ExternalStreams、ExternalStreamingJobs、DatabaseWorkloadGroups、WorkloadClassifiers、ExternalLibraries、ExternalLanguages です。 このプロパティは、複数のオプションを示すために複数回指定できます。
/p: ExcludeObjectTypes=(STRING) 配置時に無視するオブジェクトの種類をセミコロンで区切った一覧。 有効なオブジェクトの種類の名前は Aggregates、ApplicationRoles、Assemblies、AssemblyFiles、AsymmetricKeys、BrokerPriorities、Certificates、ColumnEncryptionKeys、ColumnMasterKeys、Contracts、DatabaseOptions、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、ExternalDataSources、ExternalFileFormats、ExternalTables、Filegroups、Files、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、SecurityPolicies、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、DatabaseEncryptionKeys、DatabaseScopedCredentials、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、MasterKeys、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers、ExternalStreams、ExternalStreamingJobs、DatabaseWorkloadGroups、WorkloadClassifiers、ExternalLibraries、ExternalLanguages です。
/p: GenerateSmartDefaults=(BOOLEAN 'False') null 値が許可されない列を含むデータが格納されているテーブルを更新する際に、自動的に既定値が設定されます。
/p: HashObjectNamesInLogs=(BOOLEAN 'False') ログ内のすべてのオブジェクト名をランダムなハッシュ値に置き換えるかどうかを指定します。
/p: IgnoreAnsiNulls=(BOOLEAN 'True') データベースに公開するとき、ANSI NULLS 設定の相違を無視するか、更新するかを指定します。
/p: IgnoreAuthorizer=(BOOLEAN 'False') データベースに公開するとき、Authorizer の相違を無視するか、更新するかを指定します。
/p: IgnoreColumnCollation=(BOOLEAN 'False') データベースに公開するとき、列の照合順序の相違を無視するか、更新するかを指定します。
/p: IgnoreColumnOrder=(BOOLEAN 'False') データベースに公開するときに、テーブル列の順序の相違を無視するか、更新するかを指定します。
/p: IgnoreComments=(BOOLEAN 'False') データベースに公開するとき、コメントの相違を無視するか、更新するかを指定します。
/p: IgnoreCryptographicProviderFilePath=(BOOLEAN 'True') データベースに公開するとき、暗号化プロバイダーのファイル パスの相違を無視するか、更新するかを指定します。
/p: IgnoreDatabaseWorkloadGroups=(BOOLEAN 'False') 配置中にターゲットに存在するワークロード グループを除外するかどうかを指定します。 データベース ワークロード グループは、追加、変更、または削除されません。
/p: IgnoreDdlTriggerOrder=(BOOLEAN 'False') データベースまたはサーバーに公開するとき、Data Definition Language (DDL) triggers の順序の相違を無視するか、更新するかを指定します。
/p: IgnoreDdlTriggerState=(BOOLEAN 'False') データベースに公開するとき、Data Definition Language (DDL) triggers の有効または無効にされた状態の相違を無視するか、更新するかを指定します。
/p: IgnoreDefaultSchema=(BOOLEAN 'False') データベースに公開するとき、既定のスキーマの相違を無視するか、更新するかを指定します。
/p: IgnoreDmlTriggerOrder=(BOOLEAN 'False') データベースに公開するとき、Data Manipulation Language (DML) triggers の順序の相違を無視するか、更新するかを指定します。
/p: IgnoreDmlTriggerState=(BOOLEAN 'False') データベースに公開するとき、DML triggers の有効または無効にされた状態の相違を無視するか、更新するかを指定します。
/p: IgnoreExtendedProperties=(BOOLEAN 'False') データベースに公開するとき、拡張プロパティの相違を無視するか、更新するかを指定します。
/p: IgnoreFileAndLogFilePath=(BOOLEAN 'True') データベースに公開するとき、ファイルおよびログ ファイルのパスの相違を無視するか、更新するかを指定します。
/p: IgnoreFilegroupPlacement=(BOOLEAN 'True') データベースに公開するとき、FILEGROUP 内のオブジェクトの位置の相違を無視するか、更新するかを指定します。
/p: IgnoreFileSize=(BOOLEAN 'True') データベースに公開するとき、ファイル サイズの相違を無視するか、または警告を発するかを指定します。
/p: IgnoreFillFactor=(BOOLEAN 'True') データベースに公開するとき、インデックス格納の FILL FACTOR の相違を無視するか、または警告を発するかを指定します。
/p: IgnoreFullTextCatalogFilePath=(BOOLEAN 'True') データベースに公開するとき、フルテキスト カタログのファイル パスの相違を無視するか、または警告を発するかを指定します。
/p: IgnoreIdentitySeed=(BOOLEAN 'False') データベースに公開するとき、Identity 列のシードの相違を無視するか、更新するかを指定します。
/p: IgnoreIncrement=(BOOLEAN 'False') データベースに公開するとき、Identity 列のインクリメントの相違を無視するか、更新するかを指定します。
/p: IgnoreIndexOptions=(BOOLEAN 'False') データベースに公開するとき、インデックス オプションの相違を無視するか、更新するかを指定します。
/p: IgnoreIndexPadding=(BOOLEAN 'True') データベースに公開するとき、インデックス パディングの相違を無視するか、更新するかを指定します。
/p: IgnoreKeywordCasing=(BOOLEAN 'True') データベースに公開するとき、キーワードの大文字と小文字の相違を無視するか、更新するかを指定します。
/p: IgnoreLockHintsOnIndexes=(BOOLEAN 'False') データベースに公開するとき、インデックスのロック ヒントの相違を無視するか、更新するかを指定します。
/p: IgnoreLoginSids=(BOOLEAN 'True') データベースに公開するとき、セキュリティ ID 番号 (SID) の相違を無視するか、更新するかを指定します。
/p: IgnoreNotForReplication=(BOOLEAN 'False') データベースに公開するとき、レプリケーションでは使わない設定を無視するか、更新するかを指定します。
/p: IgnoreObjectPlacementOnPartitionScheme=(BOOLEAN 'True') データベースに公開するとき、パーティション構成でのオブジェクトの位置を無視するか、更新するかを指定します。
/p: IgnorePartitionSchemes=(BOOLEAN 'False') データベースに公開するとき、パーティション構成と関数の相違を無視するか、更新するかを指定します。
/p: IgnorePermissions=(BOOLEAN 'False') データベースに公開するとき、権限の相違を無視するか、更新するかを指定します。
/p: IgnoreQuotedIdentifiers=(BOOLEAN 'True') データベースに公開するとき、引用符で囲まれた識別子の相違を無視するか、更新するかを指定します。
/p: IgnoreRoleMembership=(BOOLEAN 'False') データベースへの公開時に、ログインのロール メンバーシップの相違を無視するか更新するかを指定します。
/p: IgnoreRouteLifetime=(BOOLEAN 'True') データベースへの公開時に、SQL Server がルーティング テーブルにルートを保持する時間の相違を無視するか、更新するかを指定します。
/p: IgnoreSemicolonBetweenStatements=(BOOLEAN 'True') データベースに公開するとき、T-SQL ステートメント間のセミコロンの相違を無視するか、更新するかを指定します。
/p: IgnoreSensitivityClassifications=(BOOLEAN 'False') スキーマ モデルを比較するときに、列のデータ秘密度の分類を無視するかどうかを指定します。 これは、SQL 2019 で導入された ADD SENSITIVITY CLASSIFICATION 構文で追加された分類に対してのみ機能します。
/p: IgnoreTableOptions=(BOOLEAN 'False') データベースに公開するとき、テーブル オプションの相違を無視するか、更新するかを指定します。
/p: IgnoreTablePartitionOptions=(BOOLEAN 'False') データベースに公開するとき、テーブル パーティション オプションの相違を無視するか、更新するかを指定します。 このオプションは、Azure Synapse Analytics 専用 SQL プール データベースにのみ適用されます。
/p: IgnoreUserSettingsObjects=(BOOLEAN 'False') データベースに公開するとき、ユーザー設定オブジェクトの相違を無視するか、更新するかを指定します。
/p: IgnoreWhitespace=(BOOLEAN 'True') データベースに公開するとき、空白の相違を無視するか、更新するかを指定します。
/p: IgnoreWithNocheckOnCheckConstraints=(BOOLEAN 'False') 公開時に、CHECK 制約の WITH NOCHECK 句の値の相違を無視するか、更新するかを指定します。
/p: IgnoreWithNocheckOnForeignKeys=(BOOLEAN 'False') データベースに公開するとき、外部キーの WITH NOCHECK 句の値の相違を無視するか、更新するかを指定します。
/p: IgnoreWorkloadClassifiers=(BOOLEAN 'False') デプロイ中にターゲットに存在するワークロード分類子を除外するかどうかを指定します。
/p: IncludeCompositeObjects=(BOOLEAN 'False') 同じデータベースを持つすべての複合要素を 1 回の発行操作に含めます。
/p: IncludeTransactionalScripts=(BOOLEAN 'False') データベースに公開するとき、可能であればトランザクション ステートメントを使用するかどうかを指定します。
/p: IsAlwaysEncryptedParameterizationEnabled=(BOOLEAN 'False') デプロイ前/後スクリプトで Always Encrypted 列の変数パラメーター化を有効にします。
/p: LongRunningCommandTimeout=(INT32 '0') SQL Server に対してクエリを実行するときの実行時間の長いコマンドのタイムアウトを秒単位で指定します。 無期限に待機するには、0 を使用します。
/p: NoAlterStatementsToChangeClrTypes=(BOOLEAN 'False') 公開で、相違がある場合に ALTER ASSEMBLY ステートメントを発行するのではなく、常にアセンブリを削除して再作成することを指定します。
/p: PerformIndexOperationsOnline=(BOOLEAN 'False') 配置時にインデックス操作をオンラインで実行するかどうかを指定します。
/p: PopulateFilesOnFileGroups=(BOOLEAN 'True') ターゲット データベースで新しい FileGroup が作成されたときに新しいファイルも作成するかどうかを指定します。
/p: PreserveIdentityLastValues=(BOOLEAN 'False') 配置中に ID 列の最後の値を保存するかどうかを指定します。
/p: RebuildIndexesOfflineForDataPhase=(BOOLEAN 'False') データをインポートした後、オフラインでインデックスをリビルドします。
/p: RegisterDataTierApplication=(BOOLEAN 'False') スキーマがデータベース サーバーに登録されるかどうかを指定します。
/p: RestoreSequenceCurrentValue=(BOOLEAN 'True') シーケンス オブジェクトの現在の値を dacpac ファイルと共に配置する必要があるかどうかを指定します。既定値は True です
/p: RunDeploymentPlanExecutors=(BOOLEAN 'False') 他の操作が実行されるときに DeploymentPlanExecutor コントリビューターを実行する必要があるかどうかを指定します。
/p: ScriptDatabaseCollation=(BOOLEAN 'False') データベースに公開するとき、データベース照合順序の相違を無視するか、更新するかを指定します。
/p: ScriptDatabaseCompatibility=(BOOLEAN 'False') データベースに公開するとき、データベース互換性の相違を無視するか、更新するかを指定します。
/p: ScriptDatabaseOptions=(BOOLEAN 'True') ターゲット データベースのプロパティを公開操作の一部として設定するか、更新するかを指定します。
/p: ScriptDeployStateChecks=(BOOLEAN 'False') データベース名とサーバー名がデータベース プロジェクトで指定された名前と一致していることを確認するステートメントを公開スクリプトで生成するかどうかを指定します。
/p: ScriptFileSize=(BOOLEAN 'False') ファイル グループにファイルを追加するときに、サイズを指定するかどうかを制御します。
/p: ScriptNewConstraintValidation=(BOOLEAN 'True') 公開の最後にすべての制約が 1 つのセットとして検証されるため、公開の途中でチェックまたは外部キー制約によってデータ エラーが発生することを回避できます。 False に設定すると、対応するデータを確認せずに制約が公開されます。
/p: ScriptRefreshModule=(BOOLEAN 'True') 公開スクリプトの末尾に更新ステートメントを追加します。
/p: Storage=({File|Memory}) データベース モデルの構築時に要素をどのように格納するかを指定します。 パフォーマンス上の理由から、既定値は InMemory です。 大規模なデータベースの場合、File でサポートされるストレージが必要な場合があります。これは .NET Framework バージョンの SqlPackage でのみ使用できます。
/p: TreatVerificationErrorsAsWarnings=(BOOLEAN 'False') 公開の検証中に発生したエラーを警告として扱うかどうかを指定します。 配置計画をターゲット データベースに対して実行する前に、生成された配置計画がチェックされます。 計画の検証では、変更を加えるためには取り除く必要のある、ターゲットのみのオブジェクト (インデックスなど) の損失などの問題が検出されます。 また、複合プロジェクトへの参照のためテーブルやビューなどに依存関係が存在するのに、その関係がターゲット データベースに存在しない状況も検出されます。 すべての問題の完全な一覧を取得するには、最初のエラー発生時に公開アクションを停止するのではなく、この方法を使用することをお勧めします。
/p: UnmodifiableObjectWarnings=(BOOLEAN 'True') 修正できない相違がオブジェクトで見つかった場合 (たとえば、同じファイルのファイル サイズまたはファイル パスが異なる場合) に警告を生成するかどうかを指定します。
/p: VerifyCollationCompatibility=(BOOLEAN 'True') 照合順序の互換性を検証するかどうかを指定します。
/p: VerifyDeployment=(BOOLEAN 'True') 公開前にチェックを実行して、正常な公開をブロックする可能性のある問題が存在する場合は公開操作を停止するかどうかを指定します。 たとえば、ターゲット データベースの外部キーがデータベース プロジェクトに存在せず、公開時にエラーが発生する場合は、公開操作が停止することがあります。

SQLCMD 変数

公開操作の実行時に使用された SQL コマンド (sqlcmd) 変数の値をオーバーライドするために使用できるオプションの形式を次の表で説明します。 コマンド ラインで指定された変数の値は、(たとえば、公開プロファイル内で) その変数に割り当てられている他の値をオーバーライドします。

パラメーター Default 説明
/v:{PropertyName}={Value} 操作固有の変数の名前と値のペア ({VariableName}={Value}) を指定します。 DACPAC ファイルには、有効な SQLCMD 変数の一覧が含まれます。 すべての変数に値を指定しないと、エラーが発生します。

次の手順