SqlPackage.exe

 

SqlPackage.exe は、次のデータベース開発タスクを自動化するコマンド ライン ユーティリティです。

  • Extract: ライブ SQL Server または Microsoft Azure SQL データベースからデータベース スナップショット (.dacpac) ファイルを作成します。

  • Export: SQL Server または Microsoft Azure SQL データベースのライブ データベース (データベース スキーマとユーザー データを含む) を BACPAC パッケージ (.bacpac ファイル) にエクスポートします。

  • Import: BACPAC パッケージのスキーマとテーブル データを SQL Server または Microsoft Azure SQL データベースの新しいユーザー データベースにインポートします。

  • Publish: ソース .dacpac ファイルのスキーマに合わせてデータベース スキーマの増分更新を行います。データベースがサーバーに存在しない場合は、公開操作によって作成されます。存在する場合は、既存のデータベースが更新されます。

  • DeployReport: 公開操作によって行われる変更の XML レポートを作成します。

  • DriftReport: 前回データベースが登録された後に、登録されたデータベースに対して行われた変更の XML レポートを作成します。

  • Script: ソースのスキーマに合わせてターゲットのスキーマを更新する、Transact-SQL の増分更新スクリプトを作成します。

SqlPackage.exe コマンド ラインでは、これらの操作と共に、操作固有のパラメーターおよびプロパティを指定できます。

コマンド ライン構文

SqlPackage.exe は、コマンド ラインで指定されたパラメーター、プロパティ、および SQLCMD 変数を使用して指定された操作を開始します。

SqlPackage {parameters}{properties}{SQLCMDVariables}

Microsoft Azure SQL データベース、SQL Server Data Tools、および SQL Server Management Studio に関するユーザーの一般的な問題の解決方法については、「データベースのライフサイクル管理」を参照してください。

一般的なパラメーター

一般的なパラメーターは、SqlPackage.exe の全体的な操作に影響を及ぼします。

パラメーター 短い形式 必須/省略可能 説明
/Help /? N 使用法を表示します。
/Action:{Extract | DeployReport | DriftReport | Publish | Script | Export | Import | Pipe} /a:{Extract | DeployReport | DriftReport | Publish | Script | Export | Import | Pipe} Y 実行する操作を指定します。
/Quiet:{True | False} /q:{True | False} N 詳細なフィードバックを非表示にするかどうかを指定します。既定値は False です。
/OverwriteFiles:{True | False} /of:{True | False} N sqlpackage.exe が既存のファイルを上書きするかどうかを指定します。False を指定すると、既存のファイルが検出された場合に sqlpackage.exe の操作が中止します。既定値は True です。
@{file-path} なし N 応答ファイルのファイル パスを指定します。

ソース パラメーター

次の表に、SqlPackage.exe でソースの定義に使用できるコマンド ライン パラメーターを示します。

パラメーター 短い形式 既定値 説明
/SourceConnectionString:{string} /scs:{string} なし ソース データベースの有効な SQL Server または SQL Azure 接続文字列を指定します。このパラメーターを指定する場合、他のどのソース パラメーターとも同時には使用できません。
/SourceDatabaseName:{string} /sdn:{string} なし ソース データベースの名前を定義します。
/SourceUser:{value} /su:{value} なし SQL Server の作成シナリオで、データベースにアクセスするために使用される SQL Server ユーザーを指定します。
/SourceEncryptConnection:{True|False} /sec:{ True | False} False ソース データベース接続に SQL 暗号化を使用するかどうかを指定します。
/SourceFile: { string } /sf:{ string } なし データベースではなく、ソース ファイルを操作のソースとして使用するように指定します。このパラメーターを使用した場合、他のソース パラメーターは無効になります。
/SourcePassword:{string} /sp:{string} なし SQL Server の作成シナリオで、ソース データベースにアクセスするために使用するパスワードを定義します。
/SourceServerName: {string} /ssn:{ string } なし データベースをホストするサーバーの名前を指定します。
/SourceTimeout:{string} /st:{string} 15 ソース データベースへの接続を確立する際のタイムアウトを秒単位で指定します。
/SourceTrustServerCertificate:{True | False} /stsc:{True | False} False Secure Socket Layer (SSL) を使用してソース データベース接続を暗号化するかどうか、および証明書チェーンをたどることによる信頼性の検証を省略するかどうかを指定します。
/SourceUser:{string} /su:{string} なし SQL Server の作成シナリオで、データベースにアクセスするために使用される SQL Server ユーザーを指定します。

ターゲット パラメーター

次の表に、SqlPackage.exe でターゲットの定義に使用できるコマンド ライン パラメーターを示します。

パラメーター 短い形式 必須/省略可能 説明
/TargetConnectionString{string} /tcs:{string} なし ターゲット データベースの有効な SQL Server または SQL Azure 接続文字列を指定します。このパラメーターがコマンド ラインに表示された場合、接続文字列は他のターゲット パラメーターに対して排他的に使用されています。
/TargetDatabaseName:{string} /tdn:{string} なし ターゲット データベースの名前を指定します。
/TargetEncryptConnection: {True | False} /tec:{True | False} False ターゲット データベースに SQL 暗号化を使用するかどうかを指定します。
/TargetFile:{string} /tf:{string} なし .dacpac ファイルを書き込むディスクのファイル パスを指定します。
/TargetPassword:{ string } /tp:{ string } なし SQL Server の作成シナリオで、ターゲット データベースにアクセスするために使用されるパスワードを指定します。
/TargetServerName:{ string } /ssn:{ string } なし ターゲット データベースをホストするサーバーの名前を指定します。
/TargetTimeout:{ string } /tt:{ string } 15 ターゲット データベースへの接続を確立する際のタイムアウトを秒単位で指定します。
/TargetTrustServerCertificate:{True | False} /ttsc:{True | False} False Secure Socket Layer (SSL) を使用してターゲット データベース接続を暗号化するかどうか、および証明書チェーンをたどることによる信頼性の検証を省略するかどうかを指定します。
/TargetUser:{ string } /tu:{ string } なし SQL Server の作成シナリオで、ターゲット データベースにアクセスするために使用される SQL Server ユーザーを指定します。

Extract のパラメーターとプロパティ

SqlPackage.exe の Extract 操作を実行すると、SQL Server のオンプレミス インスタンスまたは Microsoft Azure SQL データベース インスタンス内のライブ データベースから、(.dacpac ファイル形式の) データベース スナップショットが作成されます。Extract 操作では、ソース データベースのスキーマのみ、またはスキーマとユーザー テーブルのデータが含まれる .dacpac ファイルを作成できます。

パラメーター

ソース: Extract では、/SourceFile: 以外のすべてのソース パラメーターが有効です。

ターゲット: SqlPackage.exe で Extract 操作を指定する場合、次のターゲット パラメーターのみを使用できます。

パラメーター 短い形式 必須/省略可能 説明
/TargetFile:{string} /tf:{string} Y .dacpac ファイルを書き込むディスクのファイル パスを指定します。

プロパティ

プロパティ 既定値 説明
/p:CommandTimeout = {Integer} 60 SQL Server に対してクエリを実行するときのコマンドのタイムアウト (秒) を指定します。
/p:DacApplicationDescription={ string } なし DACPAC メタデータに格納されるアプリケーションの説明を定義します。
/p:DacApplicationName={ string } なし DACPAC メタデータに格納されるアプリケーション名を定義します。既定値は、データベース名です。
/p:DacMajorVersion={integer} 1 DACPAC メタデータに格納されるメジャー バージョンを定義します。
/p:DacMinorVersion={integer} 0 true の場合、指定されたソースのアプリケーション スコープのオブジェクトのみを抽出します。false の場合、指定されたソースのすべてのオブジェクトを抽出します。
/p:ExtractAllTableData={true | false} False true の場合、すべてのユーザー テーブルのデータベース スキーマとデータを含む .dacpac ファイルが作成されます。
/p:ExtractApplicationScopedObjectsOnly={True | False} True true の場合、指定されたソースのアプリケーション スコープのオブジェクトのみを抽出します。false の場合、指定されたソースのすべてのオブジェクトを抽出します。
/p:ExtractReferencedServerScopedElements={True| False} True true の場合、ソース データベース オブジェクトによって参照されるログイン オブジェクト、およびサーバー監査オブジェクト、資格情報オブジェクトを抽出します。
/p:IgnoreExtendedProperties={True | False} False 拡張プロパティを無視するかどうかを指定します。
/p:IgnorePermissions={True | False} True アクセス許可を無視するかどうかを指定します。
/p:IgnoreUserLoginMappings={True | False} False ユーザーとログイン名の間のリレーションシップを無視するかどうかを指定します。
/p:Storage={File|Memory} File 抽出時に使用されるスキーマ モデルのバックアップ用ストレージの種類を指定します。
/p:TableData={string} なし このプロパティは、Extract 操作の一環として含めるユーザー テーブルを個別に指定するために使用します。テーブルは、2 つの要素で構成されるテーブル名を使用して指定します。
/p:VerifyExtraction={True | False} False 抽出された DACPAC を検証するかどうかを指定します。

注: Extract 操作を実行するときに、/p:ExtractAllTableData=true を設定すると、/p:TableData プロパティを使用してテーブルを個別に指定することもできなくなります。データの抽出元となるユーザー テーブルを 1 つ以上指定するには、/p:ExtractAllTableData=false を設定してください。

Publish のパラメーター、プロパティ、および SQLCMD 変数

SqlPackage.exe の公開操作では、ソース データベースの構造に合わせて、ターゲット データベースのスキーマの増分更新を行います。すべてまたは一部のテーブルのユーザー データを含む配置パッケージを公開すると、スキーマに加えテーブル データが更新されます。データの配置により、ターゲット データベースの既存のテーブル内のスキーマとデータが上書きされることに注意してください。データの配置では、配置パッケージに含まれていないテーブルについて、ターゲット データベース内の既存のスキーマまたはデータは変更されません。

パラメーター

ソース:/SourceFile: パラメーターのみが Publish に対して有効です。

ターゲット: Publish では、TargetFile 以外のすべてのターゲット パラメーターが有効です。

次のターゲット パラメーターも、SqlPackage.exe で Publish 操作を指定するときに使用できます。

パラメーター 短い形式 必須/省略可能 説明
/Profile:{string} /pr:{string} なし DAC 公開プロファイルのファイル パスを指定します。出力の生成時に使用するプロパティと変数のコレクションをプロファイルで定義します。
/Properties:{PropertyName}={Value} /p:{PropertyName}={Value} なし 操作固有のプロパティの名前と値のペア ({PropertyName}={Value}) を指定します。操作のプロパティ名については、特定の操作のヘルプを参照してください。

注: 追加の構文または制約を指定せずに、テーブル データを含む配置パッケージを公開できます。

プロパティ

プロパティ 既定値 説明
/p:AdditionalDeploymentContributorArguments={string} なし 配置コントリビューターに追加の配置コントリビューター引数を指定します。複数の値を指定する場合は、セミコロンで区切ります。
/p:AdditionalDeploymentContributors={string} なし dacpac を配置するときに実行する追加の配置コントリビューターを指定します。このとき、セミコロン区切りで、完全修飾ビルド コントリビューター名または ID を指定する必要があります。
/p:AllowDropBlockingAssemblies ={True | False} False SqlClr による公開で、ブロックしているアセンブリを配置計画から削除するかどうかを指定します。既定では、参照しているアセンブリを削除する必要がある場合、ブロックしているアセンブリまたは参照しているアセンブリによって、アセンブリの更新がブロックされます。
/p:AllowIncompatiblePlatform={True | False} False 互換性がない可能性のある SQL Server プラットフォームであっても公開操作を続行するかどうかを指定します。
/p:BackupDatabaseBeforeChanges={True | False} False 変更を配置する前に、データベースをバックアップします。
/p:BlockOnPossibleDataLoss={True | False} True 公開操作によってデータが失われる可能性がある場合に公開エピソードを終了するかどうかを指定します。
/p:BlockWhenDriftDetected={True | False} True スキーマがその登録と一致しないか、スキーマが登録されていないデータベースの更新をブロックするかどうかを指定します。
/p:CommandTimeout = { integer } 60 SQL Server に対してクエリを実行するときのコマンドのタイムアウト (秒) を指定します。
/p:CommentOutSetVarDeclarations={True | False} False 生成する公開スクリプト内で SETVAR 変数の宣言をコメント アウトするかどうかを指定します。このようなコメント アウトが必要になるのは、SQLCMD.EXE などのツールを使用して、公開時にコマンド ラインで値を指定する予定がある場合などです。
/p:CompareUsingTargetCollation={True | False} False この設定では、配置の際にデータベースの照合順序をどのように処理するかを指定します。既定では、ソースで指定されている照合順序と異なる場合にターゲット データベースの照合順序が更新されます。このオプションを設定した場合、ターゲット データベース (またはサーバー) の照合順序が使用されます。
/p:CreateNewDatabase={True | False} False データベースへの公開時に、ターゲット データベースを更新するか、削除して再作成するかを指定します。
/p:DeployDatabaseInSingleUserMode={True | False} False true の場合、配置前にデータベースがシングル ユーザー モードに設定されます。
/p:DisableAndReenableDdlTriggers={True | False} True 公開プロセスの開始時にデータ定義言語 (DDL) トリガーを無効にして、公開操作の最後に再度有効にするかどうかを指定します。
/p:DoNotAlterChangeDataCaptureObjects={True | False} True true の場合、Change Data Capture オブジェクトは変更されません。
/p:DoNotAlterReplicatedObjects={True | False} True レプリケートされたオブジェクトが、検証時に識別されるかどうかを指定します。
/p:DoNotDropObjectType={ Aggregates | ApplicationRoles | Assemblies | AsymmetricKeys | BrokerPriorities | Certificates | Contracts | DatabaseRoles | DatabaseTriggers | Defaults | ExtendedProperties | Filegroups | FileTables | FullTextCatalogs | FullTextStoplists | MessageTypes | PartitionFunctions | PartitionSchemes | Permissions | Queues | RemoteServiceBindings | RoleMembership | Rules | ScalarValuedFunctions | SearchPropertyLists | Sequences | Services | Signatures | StoredProcedures | SymmetricKeys | Synonyms | Tables | TableValuedFunctions | UserDefinedDataTypes | UserDefinedTableTypes | ClrUserDefinedTypes | Users | Views | XmlSchemaCollections | Audits | Credentials | CryptographicProviders | DatabaseAuditSpecifications | Endpoints | ErrorMessages | EventNotifications | EventSessions | LinkedServerLogins | Routes | ServerAuditSpecifications | ServerRoleMembership | ServerRoles | ServerTriggers } なし。 DropObjectsNotInSource が true の場合に削除しないオブジェクトの種類
/p:DoNotDropObjectTypes= { string } なし DropObjectsNotInSourceが true の場合に削除しないオブジェクトの種類をセミコロンで区切った一覧。有効なオブジェクトの種類名は、Aggregates、ApplicationRoles、Assemblies、AsymmetricKeys、BrokerPriorities、Certificates、Contracts、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、Filegroups、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers です。
/p:DropConstraintsNotInSource={True | False} True 公開操作で、データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) に存在しない制約を削除するかどうかを指定します。
/p:DropDmlTriggersNotInSource={True | False} True 公開操作で、データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) に存在しないデータ操作言語 (DML) トリガーを削除するかどうかを指定します。
/p:DropExtendedPropertiesNotInSource={True | False} True 公開操作で、データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) に存在しない拡張プロパティを削除するかどうかを指定します。
/p:DropIndexesNotInSource={True | False} True 公開操作で、データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) に存在しないインデックスを削除するかどうかを指定します。
/p:DropObjectsNotInSource={True | False} False データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないオブジェクトを削除するかどうかを指定します。
/p:DropPermissionsNotInSource={True | False} False 公開操作で、データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) に存在しないアクセス許可を削除するかどうかを指定します。
/p:DropRoleMembersNotInSource={True | False} False 公開操作で、データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) に存在しないロール メンバーを削除するかどうかを指定します。
/p:ExcludeObjectType={ Aggregates | ApplicationRoles | Assemblies | AsymmetricKeys | BrokerPriorities | Certificates | Contracts | DatabaseRoles | DatabaseTriggers | Defaults | ExtendedProperties | Filegroups | FileTables | FullTextCatalogs | FullTextStoplists | MessageTypes | PartitionFunctions | PartitionSchemes | Permissions | Queues | RemoteServiceBindings | RoleMembership | Rules | ScalarValuedFunctions | SearchPropertyLists | Sequences | Services | Signatures | StoredProcedures | SymmetricKeys | Synonyms | Tables | TableValuedFunctions | UserDefinedDataTypes | UserDefinedTableTypes | ClrUserDefinedTypes | Users | Views | XmlSchemaCollections | Audits | Credentials | CryptographicProviders | DatabaseAuditSpecifications | Endpoints | ErrorMessages | EventNotifications | EventSessions | LinkedServerLogins | Routes | ServerAuditSpecifications | ServerRoleMembership | ServerRoles | ServerTriggers } なし 配置時に無視するオブジェクトの種類。
/p:ExcludeObjectTypes={ string } なし 配置時に無視するオブジェクトの種類をセミコロンで区切った一覧。有効なオブジェクトの種類名は、Aggregates、ApplicationRoles、Assemblies、AsymmetricKeys、BrokerPriorities、Certificates、Contracts、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、Filegroups、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers です。
/p:GenerateSmartDefaults={True | False} False SqlPackage.exe で、null 値が許可されない列を含むデータが格納されているテーブルを更新する際に、自動的に既定値を提供するかどうかを指定します。
/p:IgnoreAnsiNulls={True | False} False データベースへの公開時に、ANSI NULLS 設定の相違を無視するか更新するかを指定します。
/p: IgnoreAuthorizer={True | False} False データベースへの公開時に、Authorizer の相違を無視するか更新するかを指定します。
/p:IgnoreColumnCollation={True | False} False データベースへの公開時に、列の照合順序の相違を無視するか更新するかを指定します。
/p:IgnoreComments={True | False} False データベースへの公開時に、コメントの順序の相違を無視するか更新するかを指定します。
/p:IgnoreCryptographicProviderFilePath={True | False} True データベースへの公開時に、暗号化サービス プロバイダーのファイル パスの相違を無視するか更新するかを指定します。
/p:IgnoreDdlTriggerOrder={True | False} False データベースへの公開時に、データ定義言語 (DDL) トリガーの順序の相違を無視するか更新するかを指定します。
/p:IgnoreDdlTriggerState={True | False} False データベースへの公開時に、DDL トリガーの有効/無効状態の相違を無視するか更新するかを指定します。
/p:IgnoreDefaultSchema={True | False} False データベースへの公開時に、既定のスキーマの相違を無視するか更新するかを指定します。
/p:IgnoreDmlTriggerOrder={True | False} False データベースへの公開時に、DML トリガーの順序の相違を無視するか更新するかを指定します。
/p:IgnoreDmlTriggerState={True | False} False データベースへの公開時に、DML トリガーの有効/無効状態の相違を無視するか更新するかを指定します。
/p:IgnoreExtendedProperties={True | False} False データベースへの公開時に、拡張プロパティの相違を無視するか更新するかを指定します。
/p:IgnoreFileAndLogFilePath={True | False} True データベースへの公開時に、ファイルおよびログ ファイルのパスの相違を無視するか更新するかを指定します。
/p:IgnoreFilegroupPlacement={True | False} True データベースへの公開時に、FILEGROUP の配置の相違を無視するか更新するかを指定します。
/p:IgnoreFileSize={True | False} True データベースへの公開時に、ファイル サイズの相違を無視するか更新するかを指定します。
/p:IgnoreFillFactor={True | False} True データベースへの公開時に、FILL FACTOR の相違を無視するか更新するかを指定します。
/p:IgnoreFullTextCatalogFilePath={True | False} True データベースへの公開時に、フルテキスト インデックス ファイルのパスの相違を無視するか更新するかを指定します。
/p:IgnoreIdentitySeed={True | False} False データベースへの公開時に、ID 列のシードの相違を無視するか更新するかを指定します。
/p:IgnoreIncrement={True | False} False データベースへの公開時に、ID 列の増分の相違を無視するか更新するかを指定します。
/p:IgnoreIndexOptions={True | False} False データベースへの公開時に、インデックス オプションの相違を無視するか更新するかを指定します。
/p:IgnoreIndexPadding={True | False} True データベースへの公開時に、インデックスの埋め込みの相違を無視するか更新するかを指定します。
/p:IgnoreKeywordCasing={True | False} True データベースへの公開時に、キーワードの大文字と小文字の設定の相違を無視するか更新するかを指定します。
/p:IgnoreLockHintsOnIndexes={True | False} False データベースへの公開時に、インデックスのロック ヒントの相違を無視するか更新するかを指定します。
/p:IgnoreLoginSids={True | False} True データベースへの公開時に、セキュリティ識別子 (SID) の相違を無視するか更新するかを指定します。
/p:IgnoreNotForReplication={True | False} False データベースへの公開時に、Not For Replication 設定の相違を無視するか更新するかを指定します。
/p:IgnoreObjectPlacementOnPartitionScheme={True | False} True データベースへの公開時に、パーティション構成のオブジェクト配置の相違を無視するか更新するかを指定します。
/p:IgnorePartitionSchemes={True | False} False データベースへの公開時に、パーティション構成およびパーティション関数の相違を無視するか更新するかを指定します。
/p:IgnorePermissions={True | False} False データベースへの公開時に、アクセス許可の相違を無視するか更新するかを指定します。
/p:IgnoreQuotedIdentifiers={True | False} False データベースへの公開時に、Quoted Identifier 設定の相違を無視するか更新するかを指定します。
/p:IgnoreRoleMembership={True | False} False データベースへの公開時に、ログインのロール メンバーシップの相違を無視するか更新するかを指定します。
/p:IgnoreRouteLifetime={True | False} True データベースへの公開時に、ログインのロール メンバーシップの相違を無視するか更新するかを指定します。
/p:IgnoreSemicolonBetweenStatements={True | False} True データベースへの公開時に、Transact-SQL ステートメント間のセミコロンの相違を無視するか更新するかを指定します。
/p:IgnoreTableOptions={True | False} False データベースへの公開時に、テーブル オプションの相違を無視するか更新するかを指定します。
/p:IgnoreUserSettingsObjects={True | False} False データベースへの公開時に、ユーザー設定オプションの相違を無視するか更新するかを指定します。
/p:IgnoreWhitespace={True | False} True データベースへの公開時に、空白の相違を無視するか更新するかを指定します。
/p:IgnoreWithNocheckOnCheckConstraints={True | False} False データベースへの公開時に、CHECK 制約に対する WITH NOCHECK 句の値の相違を無視するか更新するかを指定します。
/p:IgnoreWithNocheckOnForeignKeys={True | False} False データベースへの公開時に、外部キーに対する WITH NOCHECK 句の値の相違を無視するか更新するかを指定します。
/p:IncludeCompositeObjects={True | False} False 単一の公開操作の一部としてすべての複合要素を含めるかどうかを指定します。
/p:IncludeTransactionalScripts={True | False} False データベースへの公開時に、可能であれば常にトランザクション ステートメントを使用するかどうかを指定します。
/p:NoAlterStatementsToChangeClrTypes={True | False} False 公開で、相違がある場合に ALTER ASSEMBLY ステートメントを発行するのではなく、常にアセンブリを削除して再作成することを指定します。
/p:PopulateFilesOnFilegroups={True | False} True ターゲット データベース内に新しい FileGroup を作成する際に、新しいファイルも作成するかどうかを指定します。
/p:RegisterDataTierApplication={True | False} False スキーマがデータベース サーバーに登録されるかどうかを指定します。
/p:RunDeploymentPlanExecutors={True | False} False 他の操作が実行されたときに DeploymentPlanExecutor コントリビューターを実行するかどうかを指定します。
/p:ScriptDatabaseCollation={True | False} False データベースへの公開時に、データベースの照合順序の相違を無視するか更新するかを指定します。
/p:ScriptDatabaseCompatibility={True | False} True データベースへの公開時に、データベース互換性の相違を無視するか更新するかを指定します。
/p:ScriptDatabaseOptions={True | False} True データベースへの公開時に、ターゲット データベースのプロパティを設定するか更新するかを指定します。
/p:ScriptDeployStateChecks= {True | False } False データベース プロジェクト内で指定されている名前にデータベース名およびサーバー名が一致することを確認するために、公開スクリプト内にステートメントを生成するかどうかを指定します。
/p:ScriptFileSize={True | False} False ファイル グループにファイルを追加するときに、サイズを指定するかどうかを制御します。
/p:ScriptNewConstraintValidation={True | False} True 公開操作の途中で CHECK 制約または外部キー制約によるデータ エラーが生じないように、公開操作の最後にすべての制約を 1 つのセットとして確認するかどうかを指定します。このオプションが False であれば、対応するデータを確認せずに制約が公開されます。
/p:ScriptRefreshModule={True | False} True 公開スクリプトの末尾に REFRESH ステートメントを含めるかどうかを指定します。
/p:Storage={File | Memory} Memory データベース モデルの構築時に要素をどのように格納するかを指定します。パフォーマンス上の理由から、既定値は InMemory です。非常に大規模なデータベースの場合は、ファイルを使用するストレージが必要です。
/p:TreatVerificationErrorsAsWarnings={True | False} False 公開の検証中に発生したエラーを警告として扱うかどうかを指定します。配置計画をターゲット データベースに対して実行する前に、生成された配置計画がチェックされます。計画の検証では、変更を加えるためには取り除く必要のある、ターゲットのみのオブジェクト (インデックスなど) の損失などの問題が検出されます。また、複合プロジェクトへの参照のためテーブルやビューなどに依存関係が存在するのに、その関係がターゲット データベースに存在しない状況も検出されます。すべての問題の一覧を取得するには、最初のエラー発生時に公開操作を停止するのではなく、検証エラーを警告として扱うことをお勧めします。
/p:UnmodifiableObjectWarnings={True | False} True 修正できない相違がオブジェクトで見つかった場合 (たとえば、同じファイルのファイル サイズまたはファイル パスが異なる場合) に警告を生成するかどうかを指定します。
/p:VerifyCollationCompatibility={True | False} True 照合順序の互換性を検証するかどうかを指定します。
/p:VerifyDeployment={True | False} True 正常な公開がブロックされる可能性のある問題が存在する場合には公開操作を停止するようなチェックを、公開前に行うかどうかを指定します。たとえば、ターゲット データベースの外部キーがデータベース プロジェクトに存在しないために公開時にエラーが発生する場合、公開操作は停止します。

SQLCMD 変数

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

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

Export のパラメーターとプロパティ

SqlPackage.exe の Export 操作を実行すると、SQL Server または Microsoft Azure SQL データベースのライブ データベースが BACPAC パッケージ (.bacpac ファイル) にエクスポートされます。既定では、すべてのテーブルのデータが .bacpac ファイルに含まれます。必要に応じて、データをエクスポートする対象のテーブルの一部のみを指定できます。Export 操作の検証によって、エクスポート対象にテーブルの一部を指定した場合でも、完全な対象データベースに対する Microsoft Azure SQL データベースの互換性が維持されます。

パラメーター

ソース: Export では、/SourceFile 以外のすべての ソース パラメーター がサポートされます。

ターゲット: Export で有効なターゲット パラメーターは /TargetFile:{string} のみです。この {string} は、.bacpac ファイルが作成されるディスクのファイル パスです。

制限:

  • テーブル データのエクスポートは、ユーザー テーブルでのみサポートされます。

  • エクスポートに指定するテーブルは、閉じたセットに含まれている必要があります。ユーザー テーブルには、指定したテーブル セット以外にも適用される受信または送信の外部キーを含めることはできません。

SqlPackage.exe で Export 操作を指定するときに、次のパラメーターを使用できます。

パラメーター 短い形式 必須/省略可能 説明
/TargetFile:{string} /tf:{string} Y エクスポートした .bacpac ファイルが生成される場所のファイル パスを指定します。ファイル パスには、既存のディレクトリを指定する必要があります。また、ファイル パスには、.bacpac 拡張子を含むファイル名も指定する必要があります。パス名の長さは、Windows ファイル パスの制限である 256 文字以下にする必要があります。

プロパティ

次の表は、SqlPackage.exe で BACPAC ファイルのエクスポートに使用できるコマンド ライン プロパティの一覧です。

プロパティ 既定値 説明
/p:CommandTimeout = { integer } 60 SQL Server に対してクエリを実行するときのコマンドのタイムアウト (秒) を指定します。
/p:TableData={string} なし このプロパティは、Export 操作の一環として含めるユーザー テーブルを個別に指定するために使用します。テーブルは、2 つの要素で構成されるテーブル名を使用して指定します。
/p:Storage={File|Memory} Memory データベース モデルの構築時に要素をどのように格納するかを指定します。パフォーマンス上の理由から、既定値は Memory です。非常に大規模なデータベースの場合は、ファイルを使用するストレージが必要です。

Import のパラメーターとプロパティ

SqlPackage.exe の Import 操作を実行すると、BACPAC パッケージ (.bacpac ファイル) のスキーマとテーブル データが、SQL Server または Microsoft Azure SQL データベースの新規または空のデータベースにインポートされます。既存のデータベースへのインポート操作時に、ターゲット データベースにユーザー定義のスキーマ オブジェクトを含めることはできません。

パラメーター

ソース: Import で有効なパラメーターは、/SourceFile:{string} のみです。この {string} は、ソースの .bacpac ファイルが格納されているディスクのファイル パスです。

ターゲット: Import では、/TargetFile 以外のすべてのターゲット パラメーターが有効です。

SqlPackage.exe で Import 操作を指定するときに、次のターゲット パラメーターも使用できます。

パラメーター 短い形式 必須/省略可能 説明
/SourceFile:{string} /sf:{string} Y ソース ファイルが格納されている場所のファイル パスを指定します。ファイル パスには、.bacpac 拡張子を含むターゲット ファイル名も指定する必要があります。パス名の長さは、Windows ファイル パスの制限である 256 文字以下にする必要があります。

プロパティ

次の表は、SqlPackage.exe で BACPAC ファイルのエクスポートに使用できるコマンド ライン プロパティの一覧です。

プロパティ 既定値 説明
/p:CommandTimeout = {Integer} 60 SQL Server に対してクエリを実行するときのコマンドのタイムアウト (秒) を指定します。
/p:ImportContributorArguments = { String } なし 配置コントリビューターの配置コントリビューター引数を指定します。複数の値を指定する場合は、セミコロンで区切ります。
/p:ImportContributors = { String } なし bacpac をインポートするときに実行する配置コントリビューターを指定します。このとき、セミコロン区切りで、完全修飾ビルド コントリビューター名または ID を指定する必要があります。
/p:Storage={File | Memory} Memory データベース モデルの構築時に要素をどのように格納するかを指定します。パフォーマンス上の理由から、既定値は Memory です。非常に大規模なデータベースの場合は、ファイルを使用するストレージが必要です。

DeployReport のパラメーターおよびプロパティ

SqlPackage.exe レポート操作では、公開操作によって行われる変更の XML レポートを作成します。

パラメーター

ソース: /SourceFile: パラメーターのみが DeployReport に対して有効です。

ターゲット: DeployReport では、すべての ターゲット パラメーターが有効です。

次の他のターゲット パラメーターを、SqlPackage.exe で DeployReport 操作を指定するときに使用できます。

パラメーター 短い形式 必須/省略可能 説明
/OutputPath:{string} /op:{string} Y XML 出力ファイルが生成されるファイル パスを指定します。

プロパティ

次の表に、SqlPackage.exe で DeployReport 操作の効果の変更に使用できるコマンド ライン プロパティを示します。

プロパティ 既定値 説明
/p:AdditionalDeploymentContributorArguments={String} なし 配置コントリビューターに追加の配置コントリビューター引数を指定します。複数の値を指定する場合は、セミコロンで区切ります。
/p:AdditionalDeploymentContributors={String} なし dacpac を配置するときに実行する追加の配置コントリビューターを指定します。このとき、セミコロン区切りで、完全修飾ビルド コントリビューター名または ID を指定する必要があります。
/p:AllowDropBlockingAssemblies={True | False} False このプロパティは、ブロックしているアセンブリを配置計画から削除する際に SqlClr の配置によって使用されます。既定では、参照しているアセンブリを削除する必要がある場合、ブロックしているアセンブリまたは参照しているアセンブリによって、アセンブリの更新がブロックされます。
/p:AllowIncompatiblePlatform={True | False} False 互換性がない可能性のある SQL Server プラットフォームであってもレポート操作を続行するかどうかを指定します。
/p:BackupDatabaseBeforeChanges={True | False} False 変更を配置する前に、データベースをバックアップします。
/p:BlockOnPossibleDataLoss={True | False} True 公開操作によってデータが失われる可能性がある場合に公開エピソードを終了することを指定します。
/p:BlockWhenDriftDetected={True | False} True スキーマがその登録と一致しないか、スキーマが登録されていないデータベースの更新をブロックするかどうかを指定します。
/p:CommandTimeout = {Integer} 60 SQL Server に対してクエリを実行するときのコマンドのタイムアウト (秒) を指定します。
/p:CommentOutSetVarDeclarations={True | False} False 生成する公開スクリプト内で SETVAR 変数の宣言をコメント アウトするかどうかを指定します。このようなコメント アウトが必要になるのは、SQLCMD.EXE などのツールを使用して、公開時にコマンド ラインで値を指定する予定がある場合などです。
/p:CompareUsingTargetCollation={True | False} False この設定では、配置の際にデータベースの照合順序をどのように処理するかを指定します。既定では、ソースで指定されている照合順序と異なる場合にターゲット データベースの照合順序が更新されます。このオプションを設定した場合、ターゲット データベース (またはサーバー) の照合順序が使用されます。
/p:CreateNewDatabase={True | False} False データベースへの公開時に、ターゲット データベースを更新するか、削除して再作成するかを指定します。
/p:DeployDatabaseInSingleUserMode={True | False} False true の場合、配置前にデータベースがシングル ユーザー モードに設定されます。
/p:DisableAndReenableDdlTriggers={True | False} True 公開プロセスの開始時にデータ定義言語 (DDL) トリガーを無効にして、公開操作の最後に再度有効にするかどうかを指定します。
/p:DoNotAlterChangeDataCaptureObjects={True | False} False true の場合、Change Data Capture オブジェクトは変更されません。
/p:DoNotAlterReplicatedObjects={True | False} True レプリケートされたオブジェクトが、検証時に識別されるかどうかを指定します。
/p:DoNotDropObjectType ={ Aggregates | ApplicationRoles | Assemblies | AsymmetricKeys | BrokerPriorities | Certificates | Contracts | DatabaseRoles | DatabaseTriggers | Defaults | ExtendedProperties | Filegroups | FileTables | FullTextCatalogs | FullTextStoplists | MessageTypes | PartitionFunctions | PartitionSchemes | Permissions | Queues | RemoteServiceBindings | RoleMembership | Rules | ScalarValuedFunctions | SearchPropertyLists | Sequences | Services | Signatures | StoredProcedures | SymmetricKeys | Synonyms | Tables | TableValuedFunctions | UserDefinedDataTypes | UserDefinedTableTypes | ClrUserDefinedTypes | Users | Views | XmlSchemaCollections | Audits | Credentials | CryptographicProviders | DatabaseAuditSpecifications | Endpoints | ErrorMessages | EventNotifications | EventSessions | LinkedServerLogins | Routes | ServerAuditSpecifications | ServerRoleMembership | ServerRoles | ServerTriggers } なし DropObjectsNotInSource が true の場合に削除しないオブジェクトの種類。
/p:DoNotDropObjectTypes= { string } なし DropObjectsNotInSourceが true の場合に削除しないオブジェクトの種類をセミコロンで区切った一覧。有効なオブジェクトの種類名は、Aggregates、ApplicationRoles、Assemblies、AsymmetricKeys、BrokerPriorities、Certificates、Contracts、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、Filegroups、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers です。
/p:DropConstraintsNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない制約を削除するかどうかを指定します。
/p:DropDmlTriggersNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない DML トリガーを削除するかどうかを指定します。
/p:DropExtendedPropertiesNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない拡張プロパティを削除するかどうかを指定します。
/p:DropIndexesNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないインデックスを削除するかどうかを指定します。
/p:DropObjectsNotInSource={True | False} False データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないオブジェクトを削除するかどうかを指定します。
/p:DropPermissionsNotInSource={True | False} False データベースへの更新の公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないアクセス許可を削除するかどうかを指定します。
/p:DropRoleMembersNotInSource={True | False} False データベースへの更新の公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルで定義されていないロール メンバーを削除するかどうかを指定します。
/p:ExcludeObjectType={ Aggregates | ApplicationRoles | Assemblies | AsymmetricKeys | BrokerPriorities | Certificates | Contracts | DatabaseRoles | DatabaseTriggers | Defaults | ExtendedProperties | Filegroups | FileTables | FullTextCatalogs | FullTextStoplists | MessageTypes | PartitionFunctions | PartitionSchemes | Permissions | Queues | RemoteServiceBindings | RoleMembership | Rules | ScalarValuedFunctions | SearchPropertyLists | Sequences | Services | Signatures | StoredProcedures | SymmetricKeys | Synonyms | Tables | TableValuedFunctions | UserDefinedDataTypes | UserDefinedTableTypes | ClrUserDefinedTypes | Users | Views | XmlSchemaCollections | Audits | Credentials | CryptographicProviders | DatabaseAuditSpecifications | Endpoints | ErrorMessages | EventNotifications | EventSessions | LinkedServerLogins | Routes | ServerAuditSpecifications | ServerRoleMembership | ServerRoles | ServerTriggers } なし 配置時に無視するオブジェクトの種類。
/p:ExcludeObjectTypes={ string } なし 配置時に無視するオブジェクトの種類をセミコロンで区切った一覧。有効なオブジェクトの種類名は、Aggregates、ApplicationRoles、Assemblies、AsymmetricKeys、BrokerPriorities、Certificates、Contracts、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、Filegroups、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers です。
/p:GenerateSmartDefaults={True | False} False null 値が許可されない列を含むデータが格納されているテーブルを更新する際に、自動的に既定値が設定されます。
/p:IgnoreAnsiNulls={True | False} False データベースへの公開時に、ANSI NULLS 設定の相違を無視するか更新するかを指定します。
/p: IgnoreAuthorizer={True | False} False データベースへの公開時に、Authorizer の相違を無視するか更新するかを指定します。
/p:IgnoreColumnCollation={True | False} False データベースへの公開時に、列の照合順序の相違を無視するか更新するかを指定します。
/p:IgnoreComments={True | False} False データベースへの公開時に、コメントの順序の相違を無視するか更新するかを指定します。
/p:IgnoreCryptographicProviderFile={True | False} True データベースへの公開時に、暗号化サービス プロバイダーのファイル パスの相違を無視するか更新するかを指定します。
/p:IgnoreDdlTriggerOrder={True | False} False データベースへの公開時に、データ定義言語 (DDL) トリガーの順序の相違を無視するか更新するかを指定します。
/p:IgnoreDdlTriggerState={True | False} False データベースへの公開時に、DDL トリガーの有効/無効状態の相違を無視するか更新するかを指定します。
/p:IgnoreDefaultSchema={True | False} False データベースへの公開時に、既定のスキーマの相違を無視するか更新するかを指定します。
/p:IgnoreDmlTriggerOrder={True | False} False データベースへの公開時に、DML トリガーの順序の相違を無視するか更新するかを指定します。
/p:IgnoreDmlTriggerState={True | False} False データベースへの公開時に、DML トリガーの有効/無効状態の相違を無視するか更新するかを指定します。
/p:IgnoreExtendedProperties={True | False} False データベースへの公開時に、拡張プロパティの相違を無視するか更新するかを指定します。
/p:IgnoreFileAndLogFilePath={True | False} True データベースへの公開時に、ファイルおよびログ ファイルのパスの相違を無視するか更新するかを指定します。
/p:IgnoreFilegroupPlacement={True | False} True データベースへの公開時に、FILEGROUP の配置の相違を無視するか更新するかを指定します。
/p:IgnoreFileSize={True | False} True データベースへの公開時に、ファイル サイズの相違を無視するか更新するかを指定します。
/p:IgnoreFillFactor={True | False} True データベースへの公開時に、FILL FACTOR の相違を無視するか更新するかを指定します。
/p:IgnoreFullTextCatalogFilePath={True | False} True データベースへの公開時に、フルテキスト インデックス ファイルのパスの相違を無視するか更新するかを指定します。
/p:IgnoreIdentitySeed={True | False} False データベースへの公開時に、ID 列のシードの相違を無視するか更新するかを指定します。
/p:IgnoreIncrement={True | False} False データベースへの公開時に、ID 列の増分の相違を無視するか更新するかを指定します。
/p:IgnoreIndexOptions={True | False} False データベースへの公開時に、インデックス オプションの相違を無視するか更新するかを指定します。
/p:IgnoreIndexPadding={True | False} True データベースへの公開時に、インデックスの埋め込みの相違を無視するか更新するかを指定します。
/p:IgnoreKeywordCasing={True | False} True データベースへの公開時に、キーワードの大文字と小文字の設定の相違を無視するか更新するかを指定します。
/p:IgnoreLoginSids={True | False} True データベースへの公開時に、セキュリティ識別子 (SID) の相違を無視するか更新するかを指定します。
/p:IgnoreNotForReplication={True | False} False データベースへの公開時に、Not For Replication 設定の相違を無視するか更新するかを指定します。
/p:IgnoreObjectPlacementOnPartitionScheme={True | False} True データベースへの公開時に、パーティション構成のオブジェクト配置の相違を無視するか更新するかを指定します。
/p:IgnorePartitionSchemes={True | False} False データベースへの公開時に、パーティション構成およびパーティション関数の相違を無視するか更新するかを指定します。
/p:IgnorePermissions={True | False} False データベースへの公開時に、アクセス許可の相違を無視するか更新するかを指定します。
/p:IgnoreQuotedIdentifiers={True | False} False データベースへの公開時に、Quoted Identifier 設定の相違を無視するか更新するかを指定します。
/p:IgnoreRoleMembership={True | False} False データベースへの公開時に、ログインのロール メンバーシップの相違を無視するか更新するかを指定します。
/p:IgnoreRouteLifetime={True | False} True データベースへの公開時に、ログインのロール メンバーシップの相違を無視するか更新するかを指定します。
/p:IgnoreSemicolonBetweenStatements={True | False} True データベースへの公開時に、Transact-SQL ステートメント間のセミコロンの相違を無視するか更新するかを指定します。
/p:IgnoreTableOptions={True | False} False データベースへの公開時に、テーブル オプションの相違を無視するか更新するかを指定します。
/p:IgnoreUserSettingsObjects={True | False} False データベースへの公開時に、ユーザー設定オプションの相違を無視するか更新するかを指定します。
/p:IgnoreWhitespace={True | False} True データベースへの公開時に、空白の相違を無視するか更新するかを指定します。
/p:IgnoreWithNocheckOnCheckConstraints={True | False} False データベースへの公開時に、CHECK 制約に対する WITH NOCHECK 句の値の相違を無視するか更新するかを指定します。
/p:IgnoreWithNocheckOnForeignKeys={True | False} False データベースへの公開時に、外部キーに対する WITH NOCHECK 句の値の相違を無視するか更新するかを指定します。
/p:IncludeCompositeObjects={True | False} False 単一の公開操作の一部としてすべての複合要素を含めるかどうかを指定します。
/p:IncludeTransactionalScripts={True | False} False データベースへの公開時に、可能であれば常にトランザクション ステートメントを使用するかどうかを指定します。
/p:NoAlterStatementsToChangeClrTypes={True | False} False 公開で、相違がある場合に ALTER ASSEMBLY ステートメントを発行するのではなく、常にアセンブリを削除して再作成することを指定します。
/p:PopulateFilesOnFilegroups={True | False} True ターゲット データベース内に新しい FileGroup を作成する際に、新しいファイルも作成するかどうかを指定します。
/p:RegisterDataTierApplication={True | False} False スキーマがデータベース サーバーに登録されるかどうかを指定します。
/p:RunDeploymentPlanExecutors={True | False} False 他の操作が実行されたときに DeploymentPlanExecutor コントリビューターを実行するかどうかを指定します。
/p:ScriptDatabaseCollation={True | False} False データベースへの公開時に、データベースの照合順序の相違を無視するか更新するかを指定します。
/p:ScriptDatabaseCompatibility={True | False} True データベースへの公開時に、データベース互換性の相違を無視するか更新するかを指定します。
/p:ScriptDatabaseOptions={True | False} True データベースへの公開時に、ターゲット データベースのプロパティを設定するか更新するかを指定します。
/p:ScriptFileSize={True | False} False ファイル グループにファイルを追加するときに、サイズを指定するかどうかを制御します。
/p:ScriptNewConstraintValidation={True | False} True 公開操作の途中で CHECK 制約または外部キー制約によるデータ エラーが生じないように、公開操作の最後にすべての制約を 1 つのセットとして確認するかどうかを指定します。このオプションが False であれば、対応するデータを確認せずに制約が公開されます。
/p:ScriptDeployStateChecks={True | False} False データベース プロジェクト内で指定されている名前にデータベース名およびサーバー名が一致することを確認するために、公開スクリプト内にステートメントを生成するかどうかを指定します。
/p:ScriptRefreshModule={True | False} True 公開スクリプトの末尾に REFRESH ステートメントを含めるかどうかを指定します。
/p:Storage={File | Memory} Memory データベース モデルの構築時に要素をどのように格納するかを指定します。パフォーマンス上の理由から、既定値は InMemory です。非常に大規模なデータベースの場合は、ファイルを使用するストレージが必要です。
/p:TreatVerificationErrorsAsWarnings={True | False} False 公開の検証中に発生したエラーを警告として扱うかどうかを指定します。配置計画をターゲット データベースに対して実行する前に、生成された配置計画がチェックされます。計画の検証では、変更を加えるためには取り除く必要のある、ターゲットのみのオブジェクト (インデックスなど) の損失などの問題が検出されます。また、複合プロジェクトへの参照のためテーブルやビューなどに依存関係が存在するのに、その関係がターゲット データベースに存在しない状況も検出されます。すべての問題の一覧を取得するには、最初のエラー発生時に公開操作を停止するのではなく、検証エラーを警告として扱うことをお勧めします。
/p:UnmodifiableObjectWarnings={True | False} True 修正できない相違がオブジェクトで見つかった場合 (たとえば、同じファイルのファイル サイズまたはファイル パスが異なる場合) に警告を生成するかどうかを指定します。
/p:VerifyCollationCompatibility={True | False} True 照合順序の互換性を検証するかどうかを指定します。
/p:VerifyDeployment={True | False} True 正常な公開がブロックされる可能性のある問題が存在する場合には公開操作を停止するようなチェックを、公開前に行うかどうかを指定します。たとえば、ターゲット データベースの外部キーがデータベース プロジェクトに存在しないために公開時にエラーが発生する場合、公開操作は停止します。

DriftReport のパラメーター

SqlPackage.exe レポート操作では、前回データベースが登録されてから以降に、登録されたデータベースに対して行われた変更の XML レポートが作成されます。

パラメーター

ソース: なし

ターゲット: DriftReport では、TargetFile 以外のすべての ターゲット パラメーター が有効です。

次のターゲット パラメーターは、SqlPackage.exe で DriftReport 操作を指定するときに使用できます。

パラメーター 短い形式 必須/省略可能 説明
/OutputPath:{string} /op:{string} Y 出力ファイルが生成されるファイル パスを指定します。

スクリプト パラメーターとスクリプト プロパティ

SqlPackage.exe のスクリプト操作では、ソース データベースのスキーマに合わせてターゲット データベースのスキーマを更新する、Transact-SQL の増分更新スクリプトを作成します。

パラメーター

ソース:/SourceFile: パラメーターのみが Script に対して有効です。

ターゲット: Script では、すべてのターゲット パラメーターが有効です。

SqlPackage.exe で Script 操作を指定するときに、他のターゲット パラメーターとして次のパラメーターを使用できます。

パラメーター 短い形式 必須/省略可能 説明
/OutputPath:{string} /op:{string} Y 出力ファイルが生成されるファイル パスを指定します。

プロパティ

次の表は、SqlPackage.exe で Script 操作の効果の変更に使用できるコマンド ライン プロパティの一覧です。

プロパティ 既定値 説明
/p:AdditionalDeploymentContributorArguments={String} なし 配置コントリビューターに追加の配置コントリビューター引数を指定します。複数の値を指定する場合は、セミコロンで区切ります。
/p:AdditionalDeploymentContributors={String} なし dacpac を配置するときに実行する追加の配置コントリビューターを指定します。このとき、セミコロン区切りで、完全修飾ビルド コントリビューター名または ID を指定する必要があります。
/p:AllowDropBlockingAssemblies={True | False} False このプロパティは、ブロックしているアセンブリを配置計画から削除する際に SqlClr の配置によって使用されます。既定では、参照しているアセンブリを削除する必要がある場合、ブロックしているアセンブリまたは参照しているアセンブリによって、アセンブリの更新がブロックされます。
/p:AllowIncompatiblePlatform={True | False} False 互換性がない可能性のある SQL Server プラットフォームであってもレポート操作を続行するかどうかを指定します。
/p:BackupDatabaseBeforeChanges={True | False} False 変更を配置する前に、データベースをバックアップします。
/p:BlockOnPossibleDataLoss={True | False} True 公開操作によってデータが失われる可能性がある場合に公開エピソードを終了することを指定します。
/p:BlockWhenDriftDetected={True | False} True スキーマがその登録と一致しないか、スキーマが登録されていないデータベースの更新をブロックするかどうかを指定します。
/p:CommandTimeout = {Integer} 60 SQL Server に対してクエリを実行するときのコマンドのタイムアウト (秒) を指定します。
/p:CommentOutSetVarDeclarations={True | False} False 生成する公開スクリプト内で SETVAR 変数の宣言をコメント アウトするかどうかを指定します。このようなコメント アウトが必要になるのは、SQLCMD.EXE などのツールを使用して、公開時にコマンド ラインで値を指定する予定がある場合などです。
/p:CompareUsingTargetCollation={True | False} False この設定では、配置の際にデータベースの照合順序をどのように処理するかを指定します。既定では、ソースで指定されている照合順序と異なる場合にターゲット データベースの照合順序が更新されます。このオプションを設定した場合、ターゲット データベース (またはサーバー) の照合順序が使用されます。
/p:CreateNewDatabase={True | False} False データベースへの公開時に、ターゲット データベースを更新するか、削除して再作成するかを指定します。
/p:DeployDatabaseInSingleUserMode={True | False} False true の場合、配置前にデータベースがシングル ユーザー モードに設定されます。
/p:DisableAndReenableDdlTriggers={True | False} True 公開プロセスの開始時にデータ定義言語 (DDL) トリガーを無効にして、公開操作の最後に再度有効にするかどうかを指定します。
/p:DoNotAlterChangeDataCaptureObjects={True | False} True true の場合、Change Data Capture オブジェクトは変更されません。
/p:DoNotAlterReplicatedObjects={True | False} True レプリケートされたオブジェクトが、検証時に識別されるかどうかを指定します。
/p:DoNotDropObjectType={ Aggregates | ApplicationRoles | Assemblies | AsymmetricKeys | BrokerPriorities | Certificates | Contracts | DatabaseRoles | DatabaseTriggers | Defaults | ExtendedProperties | Filegroups | FileTables | FullTextCatalogs | FullTextStoplists | MessageTypes | PartitionFunctions | PartitionSchemes | Permissions | Queues | RemoteServiceBindings | RoleMembership | Rules | ScalarValuedFunctions | SearchPropertyLists | Sequences | Services | Signatures | StoredProcedures | SymmetricKeys | Synonyms | Tables | TableValuedFunctions | UserDefinedDataTypes | UserDefinedTableTypes | ClrUserDefinedTypes | Users | Views | XmlSchemaCollections | Audits | Credentials | CryptographicProviders | DatabaseAuditSpecifications | Endpoints | ErrorMessages | EventNotifications | EventSessions | LinkedServerLogins | Routes | ServerAuditSpecifications | ServerRoleMembership | ServerRoles | ServerTriggers } なし DropObjectsNotInSource が true の場合に削除しないオブジェクトの種類。
/p:DoNotDropObjectTypes= { string } なし DropObjectsNotInSourceが true の場合に削除しないオブジェクトの種類をセミコロンで区切った一覧。有効なオブジェクトの種類名は、Aggregates、ApplicationRoles、Assemblies、AsymmetricKeys、BrokerPriorities、Certificates、Contracts、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、Filegroups、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers です。
/p:DropConstraintsNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない制約を削除するかどうかを指定します。
/p:DropDmlTriggersNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない DML トリガーを削除するかどうかを指定します。
/p:DropExtendedPropertiesNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しない拡張プロパティを削除するかどうかを指定します。
/p:DropIndexesNotInSource={True | False} True データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないインデックスを削除するかどうかを指定します。
/p:DropObjectsNotInSource={True | False} False データベースへの公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないオブジェクトを削除するかどうかを指定します。
/p:DropPermissionsNotInSource={True | False} False データベースへの更新の公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルに存在しないアクセス許可を削除するかどうかを指定します。
/p:DropRoleMembersNotInSource={True | False} False データベースへの更新の公開時に、ターゲット データベースのデータベース スナップショット (.dacpac) ファイルで定義されていないロール メンバーを削除するかどうかを指定します。
/p:ExcludeObjectType={ Aggregates | ApplicationRoles | Assemblies | AsymmetricKeys | BrokerPriorities | Certificates | Contracts | DatabaseRoles | DatabaseTriggers | Defaults | ExtendedProperties | Filegroups | FileTables | FullTextCatalogs | FullTextStoplists | MessageTypes | PartitionFunctions | PartitionSchemes | Permissions | Queues | RemoteServiceBindings | RoleMembership | Rules | ScalarValuedFunctions | SearchPropertyLists | Sequences | Services | Signatures | StoredProcedures | SymmetricKeys | Synonyms | Tables | TableValuedFunctions | UserDefinedDataTypes | UserDefinedTableTypes | ClrUserDefinedTypes | Users | Views | XmlSchemaCollections | Audits | Credentials | CryptographicProviders | DatabaseAuditSpecifications | Endpoints | ErrorMessages | EventNotifications | EventSessions | LinkedServerLogins | Routes | ServerAuditSpecifications | ServerRoleMembership | ServerRoles | ServerTriggers } なし 配置時に無視するオブジェクトの種類。
/p:ExcludeObjectTypes={ string } なし 配置時に無視するオブジェクトの種類をセミコロンで区切った一覧。有効なオブジェクトの種類名は、Aggregates、ApplicationRoles、Assemblies、AsymmetricKeys、BrokerPriorities、Certificates、Contracts、DatabaseRoles、DatabaseTriggers、Defaults、ExtendedProperties、Filegroups、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、Permissions、Queues、RemoteServiceBindings、RoleMembership、Rules、ScalarValuedFunctions、SearchPropertyLists、Sequences、Services、Signatures、StoredProcedures、SymmetricKeys、Synonyms、Tables、TableValuedFunctions、UserDefinedDataTypes、UserDefinedTableTypes、ClrUserDefinedTypes、Users、Views、XmlSchemaCollections、Audits、Credentials、CryptographicProviders、DatabaseAuditSpecifications、Endpoints、ErrorMessages、EventNotifications、EventSessions、LinkedServerLogins、LinkedServers、Logins、Routes、ServerAuditSpecifications、ServerRoleMembership、ServerRoles、ServerTriggers です。
/p:GenerateSmartDefaults={True | False} False null 値が許可されない列を含むデータが格納されているテーブルを更新する際に、自動的に既定値が設定されます。
/p:IgnoreAnsiNulls={True | False} False データベースへの公開時に、ANSI NULLS 設定の相違を無視するか更新するかを指定します。
/p: IgnoreAuthorizer={True | False} False データベースへの公開時に、Authorizer の相違を無視するか更新するかを指定します。
/p:IgnoreColumnCollation={True | False} False データベースへの公開時に、列の照合順序の相違を無視するか更新するかを指定します。
/p:IgnoreComments={True | False} False データベースへの公開時に、コメントの順序の相違を無視するか更新するかを指定します。
/p:IgnoreCryptographicProviderFile={True | False} True データベースへの公開時に、暗号化サービス プロバイダーのファイル パスの相違を無視するか更新するかを指定します。
/p:IgnoreDdlTriggerOrder={True | False} False データベースへの公開時に、データ定義言語 (DDL) トリガーの順序の相違を無視するか更新するかを指定します。
/p:IgnoreDdlTriggerState={True | False} False データベースへの公開時に、DDL トリガーの有効/無効状態の相違を無視するか更新するかを指定します。
/p:IgnoreDefaultSchema={True | False} False データベースへの公開時に、既定のスキーマの相違を無視するか更新するかを指定します。
/p:IgnoreDmlTriggerOrder={True | False} False データベースへの公開時に、DML トリガーの順序の相違を無視するか更新するかを指定します。
/p:IgnoreDmlTriggerState={True | False} False データベースへの公開時に、DML トリガーの有効/無効状態の相違を無視するか更新するかを指定します。
/p:IgnoreExtendedProperties={True | False} False データベースへの公開時に、拡張プロパティの相違を無視するか更新するかを指定します。
/p:IgnoreFileAndLogFilePath={True | False} True データベースへの公開時に、ファイルおよびログ ファイルのパスの相違を無視するか更新するかを指定します。
/p:IgnoreFilegroupPlacement={True | False} True データベースへの公開時に、FILEGROUP の配置の相違を無視するか更新するかを指定します。
/p:IgnoreFileSize={True | False} True データベースへの公開時に、ファイル サイズの相違を無視するか更新するかを指定します。
/p:IgnoreFillFactor={True | False} True データベースへの公開時に、FILL FACTOR の相違を無視するか更新するかを指定します。
/p:IgnoreFullTextCatalogFilePath={True | False} True データベースへの公開時に、フルテキスト インデックス ファイルのパスの相違を無視するか更新するかを指定します。
/p:IgnoreIdentitySeed={True | False} False データベースへの公開時に、ID 列のシードの相違を無視するか更新するかを指定します。
/p:IgnoreIncrement={True | False} False データベースへの公開時に、ID 列の増分の相違を無視するか更新するかを指定します。
/p:IgnoreIndexOptions={True | False} False データベースへの公開時に、インデックス オプションの相違を無視するか更新するかを指定します。
/p:IgnoreIndexPadding={True | False} True データベースへの公開時に、インデックスの埋め込みの相違を無視するか更新するかを指定します。
/p:IgnoreKeywordCasing={True | False} True データベースへの公開時に、キーワードの大文字と小文字の設定の相違を無視するか更新するかを指定します。
/p:IgnoreLoginSids={True | False} True データベースへの公開時に、セキュリティ識別子 (SID) の相違を無視するか更新するかを指定します。
/p:IgnoreLockHintsOnIndexes={True | False} False データベースへの公開時に、インデックスのロック ヒントの相違を無視するか更新するかを指定します。
/p:IgnoreNotForReplication={True | False} False データベースへの公開時に、Not For Replication 設定の相違を無視するか更新するかを指定します。
/p:IgnoreObjectPlacementOnPartitionScheme={True | False} True データベースへの公開時に、パーティション構成のオブジェクト配置の相違を無視するか更新するかを指定します。
/p:IgnorePartitionSchemes={True | False} False データベースへの公開時に、パーティション構成およびパーティション関数の相違を無視するか更新するかを指定します。
/p:IgnorePermissions={True | False} False データベースへの公開時に、アクセス許可の相違を無視するか更新するかを指定します。
/p:IgnoreQuotedIdentifiers={True | False} False データベースへの公開時に、Quoted Identifier 設定の相違を無視するか更新するかを指定します。
/p:IgnoreRoleMembership={True | False} False データベースへの公開時に、ログインのロール メンバーシップの相違を無視するか更新するかを指定します。
/p:IgnoreRouteLifetime={True | False} True データベースへの公開時に、ログインのロール メンバーシップの相違を無視するか更新するかを指定します。
/p:IgnoreSemicolonBetweenStatements={True | False} True データベースへの公開時に、Transact-SQL ステートメント間のセミコロンの相違を無視するか更新するかを指定します。
/p:IgnoreTableOptions={True | False} False データベースへの公開時に、テーブル オプションの相違を無視するか更新するかを指定します。
/p:IgnoreUserSettingsObjects={True | False} False データベースへの公開時に、ユーザー設定オプションの相違を無視するか更新するかを指定します。
/p:IgnoreWhitespace={True | False} True データベースへの公開時に、空白の相違を無視するか更新するかを指定します。
/p:IgnoreWithNocheckOnCheckConstraints={True | False} False データベースへの公開時に、CHECK 制約に対する WITH NOCHECK 句の値の相違を無視するか更新するかを指定します。
/p:IgnoreWithNocheckOnForeignKeys={True | False} False データベースへの公開時に、外部キーに対する WITH NOCHECK 句の値の相違を無視するか更新するかを指定します。
/p:IncludeCompositeObjects={True | False} False 単一の公開操作の一部としてすべての複合要素を含めるかどうかを指定します。
/p:IncludeTransactionalScripts={True | False} False データベースへの公開時に、可能であれば常にトランザクション ステートメントを使用するかどうかを指定します。
/p:NoAlterStatementsToChangeClrTypes={True | False} False 公開で、相違がある場合に ALTER ASSEMBLY ステートメントを発行するのではなく、常にアセンブリを削除して再作成することを指定します。
/p:PopulateFilesOnFilegroups={True | False} True ターゲット データベース内に新しい FileGroup を作成する際に、新しいファイルも作成するかどうかを指定します。
/p:RegisterDataTierApplication={True | False} False スキーマがデータベース サーバーに登録されるかどうかを指定します。
/p:RunDeploymentPlanExecutors={True | False} False 他の操作が実行されたときに DeploymentPlanExecutor コントリビューターを実行するかどうかを指定します。
/p:ScriptDatabaseCollation={True | False} False データベースへの公開時に、データベースの照合順序の相違を無視するか更新するかを指定します。
/p:ScriptDatabaseCompatibility={True | False} True データベースへの公開時に、データベース互換性の相違を無視するか更新するかを指定します。
/p:ScriptDatabaseOptions={True | False} True データベースへの公開時に、ターゲット データベースのプロパティを設定するか更新するかを指定します。
/p:ScriptFileSize={True | False} False ファイル グループにファイルを追加するときに、サイズを指定するかどうかを制御します。
/p:ScriptNewConstraintValidation={True | False} True 公開操作の途中で CHECK 制約または外部キー制約によるデータ エラーが生じないように、公開操作の最後にすべての制約を 1 つのセットとして確認するかどうかを指定します。このオプションが False であれば、対応するデータを確認せずに制約が公開されます。
/p:ScriptDeployStateChecks={True | False} False データベース プロジェクト内で指定されている名前にデータベース名およびサーバー名が一致することを確認するために、公開スクリプト内にステートメントを生成するかどうかを指定します。
/p:ScriptRefreshModule={True | False} True 公開スクリプトの末尾に REFRESH ステートメントを含めるかどうかを指定します。
/p:Storage={File | Memory} Memory データベース モデルの構築時に要素をどのように格納するかを指定します。パフォーマンス上の理由から、既定値は InMemory です。非常に大規模なデータベースの場合は、ファイルを使用するストレージが必要です。
/p:TreatVerificationErrorsAsWarnings={True | False} False 公開の検証中に発生したエラーを警告として扱うかどうかを指定します。配置計画をターゲット データベースに対して実行する前に、生成された配置計画がチェックされます。計画の検証では、変更を加えるためには取り除く必要のある、ターゲットのみのオブジェクト (インデックスなど) の損失などの問題が検出されます。また、複合プロジェクトへの参照のためテーブルやビューなどに依存関係が存在するのに、その関係がターゲット データベースに存在しない状況も検出されます。すべての問題の一覧を取得するには、最初のエラー発生時に公開操作を停止するのではなく、検証エラーを警告として扱うことをお勧めします。
/p:UnmodifiableObjectWarnings={True | False} True 修正できない相違がオブジェクトで見つかった場合 (たとえば、同じファイルのファイル サイズまたはファイル パスが異なる場合) に警告を生成するかどうかを指定します。
/p:VerifyCollationCompatibility={True | False} True 照合順序の互換性を検証するかどうかを指定します。
/p:VerifyDeployment={True | False} True 公開前にチェックを実行して、正常な公開をブロックする可能性のある問題が存在する場合は公開操作を停止するかどうかを指定します。たとえば、ターゲット データベースの外部キーがデータベース プロジェクトに存在せず、公開時にエラーが発生する場合、公開操作は停止します。

参照

データベースのライフサイクル管理