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 |
- Dans Visual Studio 2022 Preview 2, les projets de style SDK utilisent l’extension
.sqlprojx
au lieu de.sqlproj
. - L’instance de développement locale est une instance SQL Server LocalDB.
- L’instance de développement locale est un conteneur SQL Server.
- 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 :
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/GoEddie/DeploymentContributorFilterer
Contenu connexe
- Développement de base de données hors connexion orienté projet
- Extension des projets SQL Database
- SqlPackage
- GitHub sql-action
- Déploiements Azure DevOps SQL
- Application de la couche Données (DAC)
- Référentiel de commentaires DacFx
- Bien démarrer avec les projets de bases de données SQL
- Tutoriel : créer et déployer un projet SQL