Partager via


Vue d'ensemble de la plateforme cible

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance

Le paramètre de plateforme cible est une propriété du projet qui est utilisée lors de la génération du projet pour valider la prise en charge des fonctionnalités incluses dans le projet, telles que la syntaxe T-SQL et les fonctions système. La configuration de la plateforme cible est incorporée dans l'artefact de génération .dacpac et, lors du déploiement, la configuration de la plateforme cible est vérifiée par rapport à la base de données cible afin d'assurer la compatibilité. Si la plateforme cible ne correspond pas à la base de données, le déploiement ne commence pas, sauf si la propriété de publication /p:AllowIncompatiblePlatform=true est spécifiée.

Exemple et syntaxe de fichier projet SQL

La propriété du projet de plateforme cible est contenue dans la balise DSP du fichier .sqlproj sous l'élément <PropertyGroup> :

<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>
...

Les valeurs valables pour la plateforme cible dans la balise DSP sont les suivantes :

  • 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 Base de données Azure SQL
  • Microsoft.Data.Tools.Schema.Sql.SqlDbFabricDatabaseSchemaProvider (Base de données SQL Fabric mise en miroir, aperçu)
  • Microsoft.Data.Tools.Schema.Sql.SqlDwDatabaseSchemaProvider (Pool SQL Azure Synapse)
  • Microsoft.Data.Tools.Schema.Sql.SqlServerlessDatabaseSchemaProvider (Pool SQL Serverless Azure Synapse)
  • Microsoft.Data.Tools.Schema.Sql.SqlDwUnifiedDatabaseSchemaProvider (Synapse Data Warehouse dans Microsoft Fabric)

Modifier la plateforme cible

Pour modifier la plateforme cible d'un projet SQL dans Visual Studio, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et sélectionnez Propriétés. Dans l'onglet Paramètres du projet de la fenêtre propriétés, sélectionnez la plateforme cible souhaitée dans la liste déroulante Plateforme cible.

Pour modifier la plateforme cible d'un projet SQL dans Visual Studio, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et sélectionnez Propriétés. Dans l'onglet Paramètres du projet de la fenêtre propriétés, sélectionnez la plateforme cible souhaitée dans la liste déroulante Plateforme cible.

Pour modifier la plateforme cible d'un projet SQL dans l'extension Projets de bases de données SQL, cliquez avec le bouton droit sur le projet dans la vue Projets de bases de données et sélectionnez Modifier la plateforme cible. Sélectionnez la nouvelle plateforme cible dans la liste déroulante.

Vous pouvez également modifier le fichier .sqlproj directement pour changer la plateforme cible. Ouvrez le fichier .sqlproj à partir de la vue Explorateur ou en cliquant avec le bouton droit sur le projet dans la vue Projets de base de données et en sélectionnant Modifier le fichier .sqlproj. Dans l'éditeur de texte, modifiez la valeur de la balise DSP pour qu'elle corresponde à la plateforme cible souhaitée.

Pour générer un projet SQL pour une plateforme cible différente de celle spécifiée dans le fichier .sqlproj, utilisez l'argument de ligne de commande /p:DSP=. Par exemple, pour générer un projet SQL pour la compatibilité avec SQL Server 2019 :

dotnet build /p:DSP=Microsoft.Data.Tools.Schema.Sql.Sql150DatabaseSchemaProvider

Publier sur une autre plateforme cible

Lorsque vous publiez un projet SQL, la plateforme cible du projet doit correspondre à la plateforme cible de la base de données. Si les plateformes cibles ne correspondent pas, le déploiement se termine avant d'appliquer les modifications, avec une erreur. Pour publier un projet dans une base de données avec une plateforme cible différente, utilisez la propriété de publication /p:AllowIncompatiblePlatform=true.