分享方式:


目標平台概觀

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體

目標平台設定為專案屬性,在專案建置期間使用,以驗證對專案所含功能的支援,例如 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 (Fabric 鏡像 SQL 資料庫,預覽版)
  • 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 資料倉儲)

改變目標平台

要變更 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 發佈屬性