Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 Transact-SQL (T-SQL) et un processus de génération et de publication.
sql Database Projects est une extension pour Visual Studio 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.
Database DevOps dans SQL Server Management Studio (SSMS) fournit 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 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é | Visual Studio Code | SSMS | SSDT (VS2022-2026) | SSDT de style SDK (préversion) (VS2022) |
|---|---|---|---|---|
| Créer un projet vide | Oui | Oui | Oui | Oui |
| Créer un projet à partir d’une base de données existante | Oui | Oui | Oui | Oui |
| Ouvrez les projets Microsoft.Build.Sql existants. | Oui | Oui | Non | Oui |
| Ouvrir des projets de type original (SSDT) | Oui | Non | Oui | Non |
| Gestion des solutions et opérations | Non | Oui | Oui | Oui |
| Projet lancer la compilation | Oui | Oui | Oui | Oui |
| Publier un projet sur un serveur existant | Oui | Oui | Oui | Oui |
| Publier un projet sur une instance de développement locale | Oui1 | Oui2 | Oui3 | Oui3 |
| Options/Propriétés de publication | Oui | Oui | Oui | Oui |
| La plateforme cible peut être mise à jour | Oui | Oui | Oui | Oui |
| Variables SQLCMD | Oui | Oui | Oui | Oui |
| Références du project | Oui | Oui | Oui | Oui |
| Références DACPAC | Oui | Oui | Oui | Oui |
| Références de package | Oui | Oui | Non | Non |
| Création d’un profil de publication | Oui | Non | Oui | Oui |
| Les fichiers SQL peuvent être ajoutés en les plaçant dans le dossier du projet | Oui | Oui | Non | Oui |
| Les fichiers SQL peuvent être exclus des builds | Oui | Oui | Oui | Non |
| Scripts de prédéploiement et de post-déploiement | Oui | Oui | Oui | Oui |
| Nouveaux modèles d’objet | Oui4 | Oui | Oui | Oui4 |
| Les fichiers de projet peuvent être organisés dans des dossiers. | Oui | Oui | Oui | Oui |
| Comparaison de schémas du projet à la base de données | Oui | Non | Oui | Oui |
| Comparaison de schémas, base de données vers projet | Oui | Non | Oui | Non |
| Concepteur de table graphique | Non | Non | Oui | Oui |
| Analyse du code : activer/désactiver l’interface utilisateur graphique des règles | Oui | Oui | Oui | Non |
| Propriétés du projet - Paramètres de sortie de compilation | Non | Non | Oui | Oui |
| Propriétés du projet - interface graphique des paramètres de base de données | Non | Non | Oui | Non |
| Exécution du projet analyse du code | Oui | Oui | Oui | Non |
| Renommage et refactorisation des objets | Non | Non | Oui | Non |
| IntelliSense fourni dans les fichiers de base de données du modèle de projet | Non | Non | Oui | Non |
1 L’instance de développement local est un conteneur SQL Server.
2 Toute base de données SQL Microsoft préinstallée peut être utilisée comme instance de développement locale.
3 Instance de développement local est une instance SQL Server LocalDB.
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.
Les applications console personnalisées peuvent être créées à l’aide de la bibliothèque DacFx .NET pour automatiser les tâches de développement de base de données. Le Microsoft. SqlServer.Dac espace de noms contient des classes pour la création, le déploiement et l’extraction d’objets de base de données et est fondamental dans le reste de la bibliothèque DacFx.
Les pipelines CI/CD peuvent être construits avec l’exécution en ligne de commande ou avec des tâches spécifiques à .dacpac et au déploiement de projets SQL. Les GitHub sql-action et SqlAzureDacpacDeployment dans Azure DevOps sont des exemples de tâches qui utilisent SqlPackage sous une couche de gestion pour 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é.
Project/gestion des solutions
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 de manière programmatique et à la demande.
Feuille de route
Une feuille de route trimestrielle pour les fonctionnalités associées aux projets SQL est disponible à l’adresse https://aka.ms/sqlprojects-roadmap. Les commentaires des clients influencent fortement la feuille de route, qui intègre à la fois la modernisation des fonctionnalités de Microsoft. Projets Build.Sql et améliorations apportées aux surfaces d’outils associées aux projets SQL.
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 open source, tels que 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/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer
Contenu connexe
- Développement de bases de données hors ligne orienté projet
- Extension des projets SQL Database
- SqlPackage
- GitHub sql-action
- Déploiements SQL d'Azure DevOps
- Application de la couche de 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