次の方法で共有


ターゲット プラットフォームの概要

適用対象: 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 発行プロパティ を使用します。