ターゲット プラットフォームの概要
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
ターゲット プラットフォーム設定は、プロジェクトのビルド中に、T-SQL、構文やシステム関数など、プロジェクトに含まれる機能のサポートを検証するために使用されるプロジェクト プロパティです。 ターゲット プラットフォーム設定は .dacpac
ビルド成果物に組み込まれ、デプロイ時にターゲット プラットフォーム設定がターゲット データベースに対してチェックされ、互換性が確保されます。 ターゲット プラットフォームがデータベースと一致しない場合、発行プロパティ /p:AllowIncompatiblePlatform=true
が指定されていない限り、デプロイは開始されません。
SQL プロジェクト ファイルのサンプルと構文
ターゲット プラットフォーム プロパティは、<PropertyGroup>
項目の下の .sqlproj
ファイルの DSP
タグに含まれています:
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="0.2.0-preview" />
<PropertyGroup>
<Name>AdventureWorks</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider</DSP>
</PropertyGroup>
...
DSP
タグ内のターゲット プラットフォームの有効な値は次のとおりです:
Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider
(SQL Server 2014)Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider
(SQL Server 2016)Microsoft.Data.Tools.Schema.Sql.Sql140DatabaseSchemaProvider
(SQL Server 2017)Microsoft.Data.Tools.Schema.Sql.Sql150DatabaseSchemaProvider
(SQL Server 2019)Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider
(SQL Server 2022)Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider
(Azure SQL データベース)Microsoft.Data.Tools.Schema.Sql.SqlDbFabricDatabaseSchemaProvider
(ファブリック ミラー化した SQL Database、プレビュー)Microsoft.Data.Tools.Schema.Sql.SqlDwDatabaseSchemaProvider
(Azure Synapse SQL プール)Microsoft.Data.Tools.Schema.Sql.SqlServerlessDatabaseSchemaProvider
(Azure Synapse サーバーレス SQL プール)Microsoft.Data.Tools.Schema.Sql.SqlDwUnifiedDatabaseSchemaProvider
(Microsoft Fabric の Synapse Data Warehouse)
ターゲット プラットフォームを変更する
Visual Studio プロジェクトで SQL プロジェクトのターゲット プラットフォームを変更するには、ソリューション エクスプローラー でプロジェクトを右クリックし、[プロパティ] を選択します。 プロパティ ウィンドウの [プロジェクト 設定] タブで、ターゲット プラットフォーム のドロップダウン リストから目的のターゲット プラットフォームを選択します。
Visual Studio プロジェクトで SQL プロジェクトのターゲット プラットフォームを変更するには、ソリューション エクスプローラー でプロジェクトを右クリックし、[プロパティ] を選択します。 プロパティ ウィンドウの [プロジェクト 設定] タブで、ターゲット プラットフォーム のドロップダウン リストから目的のターゲット プラットフォームを選択します。
SQL データベース プロジェクトの拡張機能で SQL プロジェクトのターゲット プラットフォームを変更するには、[データベース プロジェクト] ビューでプロジェクトを右クリックし、[ターゲット プラットフォームを変更]を選択します。 ドロップダウン リストから新しいターゲット プラットフォームを選択します。
または、.sqlproj
ファイルを直接編集して、ターゲット プラットフォームを変更することもできます。 [エクスプローラー] ビューから .sqlproj
ファイルを開くか、[データベース プロジェクト] ビューでプロジェクトを右クリックし、[.sqlproj ファイルを編集する] を選択します。 テキスト エディターから、DSP タグの値を目的のターゲット プラットフォームに変更します。
.sqlproj
ファイルで指定されたターゲット プラットフォームとは異なるターゲット プラットフォームの SQL プロジェクトをビルドするには、/p:DSP=
コマンド ライン引数を使用します。 たとえば、SQL Server 2019 の互換性のために SQL プロジェクトをビルドするには、次のようにします:
dotnet build /p:DSP=Microsoft.Data.Tools.Schema.Sql.Sql150DatabaseSchemaProvider
別のターゲット プラットフォームに発行する
SQL プロジェクトを公開するとき、プロジェクトのターゲット プラットフォームがデータベースのターゲット プラットフォームと一致する必要があります。 ターゲット プラットフォームが一致しない場合、エラーが発生した変更を適用する前に展開が終了します。 別のターゲット プラットフォームを持つデータベースにプロジェクトを発行するには、/p:AllowIncompatiblePlatform=true
発行プロパティ を使用します。