Partager via


Outils de projets SQL

Les outils destinés aux projets SQL sont disponibles dans plusieurs environnements de développement et interfaces de ligne de commande. Les principaux outils pour les projets SQL sont l’utilitaire de ligne de commande SqlPackage , SQL Server Data Tools (SSDT) dans Visual Studio et l’extension Sql Database Projects pour Visual Studio Code.

Outils inclus dans cet article :

Outils graphiques

Ces outils fournissent une interface graphique pour les projets SQL, un éditeur T-SQL et un processus de génération et de publication.

L’extension Sql Database Projects est une extension pour VS Code. Cette extension fournit une interface graphique pour les projets SQL, un éditeur T-SQL et un processus de génération et de publication. L’extension est également disponible dans Azure Data Studio avec la même fonctionnalité.

SQL Server Data Tools (SSDT) est un composant de Visual Studio qui fournit une interface graphique pour les projets SQL. SSDT fournit un concepteur visuel pour les tables, un éditeur T-SQL et un processus de génération et de publication.

Comparaison d’ensemble de fonctionnalités

Fonctionnalité Code Visual Studio SSDT (VS2022-2026) SSDT de style SDK, préversion (VS2022)
Créer un projet vide Oui Oui Oui
Créer un projet à partir d’une base de données existante Oui Oui Oui
Ouvrir des projets Microsoft.Build.Sql existants Oui Non Oui
Gestion des solutions et opérations Non Oui Oui
Exécuter un build de projet Oui Oui Oui
Publier un projet sur un serveur existant Oui Oui Oui
Publier un projet sur une instance de développement locale Oui1 Oui2 Oui2
Options/Propriétés de publication Oui Oui Oui
La plateforme cible peut être mise à jour Oui Oui Oui
Variables SQLCMD Oui Oui Oui
Références de projets Oui Oui Oui
Références Dacpac Oui Oui Oui
Références de package Oui Non Non
Création d’un profil de publication Oui Oui Oui
Les fichiers SQL peuvent être ajoutés en les plaçant dans le dossier du projet Oui Non Oui
Les fichiers SQL peuvent être exclus des builds Oui Oui Non
Scripts de pré/post-déploiement Oui Oui Oui
Nouveaux modèles d’objet Oui3 Oui Oui3
Les fichiers de projet peuvent être organisés en dossiers Oui Oui Oui
Comparaison de schémas, projet vers base de données Oui Oui Oui
Comparaison de schémas, base de données vers projet Oui Oui Non
Concepteur de table graphique Non Oui Oui
Analyse du code : activer/désactiver l’interface utilisateur graphique des règles Non Oui Non
Propriétés du projet : paramètres de sortie de build Non Oui Oui
Propriétés du projet : interface utilisateur des paramètres de la base de données Non Oui Non
Analyse du code d’exécution du projet Oui Oui Non
Renommage et refactorisation des objets Non Oui Non
IntelliSense fourni dans les fichiers de base de données du modèle de projet Non Oui Non
  1. L’instance de développement locale est un conteneur SQL Server.
  2. L’instance de développement locale est une instance SQL Server LocalDB.
  3. Sous-ensemble limité de modèles disponibles

Outils en ligne de commande

SqlPackage est le principal utilitaire de ligne de commande pour la bibliothèque DacFx, permettant l'automatisation des tâches de développement de bases de données telles que le déploiement d'un .dacpac vers une base de données ou l'extraction des objets d'une base de données vers un projet SQL ou un .dacpac.

Des applications console personnalisées peuvent être créées à l’aide de la bibliothèque .NET DacFx pour automatiser les tâches de développement de base de données. L’espace de noms Microsoft.SqlServer.Dac contient des classes pour la création, le déploiement et l’extraction d’objets de base de données, et est fondamentale dans le reste de la bibliothèque DacFx.

Les pipelines CI/CD peuvent être générés avec l’exécution en ligne de commande ou avec des tâches spécifiques à .dacpac et au déploiement de projets SQL. GitHub sql-action et SqlAzureDacpacDeployment dans Azure DevOps sont des exemples de tâches qui utilisent SqlPackage sous une couche de gestion afin de faciliter le déploiement des modifications de base de données.

Outils de conversion

Le processus de conversion d’un projet SQL existant en projet de style SDK est effectué en modifiant manuellement le .sqlproj fichier pour inclure le nouveau format de projet de style SDK. Avant de commencer le processus, il est recommandé de sauvegarder le fichier de projet et d’archiver une copie .dacpac du projet. En comparant un « avant » et un « après » .dacpac générés à partir du projet, vous pouvez vous assurer que le processus de conversion est correctement terminé.

Gestion de projet/solution

Plusieurs projets SQL (et d’autres projets) peuvent être regroupés logiquement dans un fichier de solution. Le fichier solution est un conteneur pour un ou plusieurs projets et est utilisé pour gérer les projets en tant que groupe, y compris l’action de génération. Les grandes solutions peuvent être réparties en solutions plus petites afin d’améliorer les performances et la facilité de gestion, ou générées dynamiquement pour la tâche appropriée. Le générateur de fichiers de solution slngen est disponible pour les projets Microsoft.Build.Sql et peut être utilisé pour créer un fichier de solution pour un ensemble de projets par programmation et à la demande.

Outils tiers

Des outils tiers fournissant des fonctionnalités liées aux projets SQL et au déploiement de base de données sont disponibles. Certains outils sont à code source ouvert, comme dbatools.

Les développeurs ont partagé leurs projets en utilisant des points d’extensibilité autour de projets SQL, notamment des règles d’analyse du code et la personnalisation des plans de déploiement. Voici quelques-uns de ces projets :