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 Projets SQL Database pour Azure Data Studio et Visual Studio Code.

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.

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.

L'extension SQL Database Projects est une extension pour Azure Data Studio (ADS) et 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.

Comparaison d’ensemble de fonctionnalités

Fonctionnalité SSDT de style SDK SSDT ADS Code Visual Studio
Créer un projet vide X X X X
Créer un projet à partir d’une base de données existante X X X
Ouvrir des projets Microsoft.Build.Sql existants X1 X X
Gestion des solutions et opérations X X
Exécuter un build de projet X X X X
Publier un projet sur un serveur existant X X X X
Publier un projet sur une instance de développement locale X2 X2 X3 X3
Options/Propriétés de publication X X X
La plateforme cible peut être mise à jour X X X X
Variables SQLCMD X X X X
Références de projets X X
Références Dacpac X X X
Références de package X
Création d’un profil de publication X X X
Les fichiers SQL peuvent être ajoutés en les plaçant dans le dossier du projet X X X
Les fichiers SQL peuvent être exclus des builds X X
Scripts de pré/post-déploiement X X X X
Nouveaux modèles d’objet X4 X X4 X4
Les fichiers de projet peuvent être organisés en dossiers X X X X
Comparaison de schémas, projet vers base de données X X
Comparaison de schémas, base de données vers projet X X
Concepteur de table graphique X X
Analyse du code : activer/désactiver des règles X
Propriétés du projet : paramètres de sortie de build X X
Propriétés du projet : schéma par défaut X
Propriétés du projet : paramètres de base de données X
Exécution autonome de l’analyse du code du projet X
Renommage et refactorisation des objets X
IntelliSense fourni dans les fichiers de base de données du modèle de projet X
Connectivité/Affichage des objets de l’Explorateur d’objets SQL Server X X X X
Explorateur d’objets SQL Server, éléments du menu contextuel X X X
Connectivité de l’éditeur de requête SQL Server X X X
  1. Dans Visual Studio 2022 Preview 2, les projets de style SDK utilisent l’extension .sqlprojx au lieu de .sqlproj.
  2. L’instance de développement locale est une instance SQL Server LocalDB.
  3. L’instance de développement locale est un conteneur SQL Server.
  4. 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 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 :