Partager via


Base de données DevOps (préversion) dans SQL Server Management Studio

Un projet de base de données SQL Database est une représentation locale d’objets SQL qui comprennent le schéma d’une base de données unique, comme des tables, des procédures stockées ou des fonctions. Le cycle de développement d’un projet de base de données SQL vous aide à intégrer le développement de base de données dans des flux de travail d’intégration continue et de déploiement continu (CI/CD) qui sont familiers en tant que meilleures pratiques de développement. Dans SSMS, vous pouvez utiliser Microsoft.Build.Sql des projets en préversion pour vous aider à implémenter, gérer et collaborer sur les modifications de base de données, en fournissant une définition locale des objets de base de données.

Cet article explique comment utiliser des projets de base de données SQL dans SQL Server Management Studio (SSMS) dans le cadre ou pour ancrer des flux de travail DevOps de base de données. Pour plus d’informations sur les projets de base de données SQL, consultez les projets de base de données SQL.

Prerequisites

Créer un projet

Pour utiliser des projets de base de données SQL dans SSMS, vous avez besoin d’un dossier local contenant vos fichiers projet. Vous pouvez démarrer un projet en extrayant des objets d’une base de données existante ou en créant de nouveaux fichiers d’objets à partir de zéro.

Capture d’écran de la boîte de dialogue Nouveau projet dans SQL Server Management Studio.

Note

SSMS peut vous inviter à vous connecter à un serveur lors de l’ouverture d’un fichier à partir de l’Explorateur de solutions. Vous pouvez effectuer le développement de projets de base de données SQL hors connexion sans vous connecter à une base de données.

Ajouter des objets à partir d’une base de données existante

Utilisez SqlPackage pour extraire le schéma d’une base de données existante dans des fichiers individuels .sql organisés par type d’objet. Exécutez la commande suivante pour créer une structure de dossiers avec vos objets de base de données :

sqlpackage /Action:Extract /SourceConnectionString:"<connection-string>" /TargetFile:"<temp-folder>" /p:ExtractTarget=SchemaObjectType

Le /p:ExtractTarget=SchemaObjectType paramètre organise les fichiers extraits en sous-dossiers en fonction du schéma et du type d’objet (par exemple, dbo/Tables, dbo/StoredProcedures). Extrayez un dossier temporaire en dehors de votre répertoire de projet, puis utilisez l’Explorateur Windows pour copier le contenu souhaité dans votre dossier de projet.

Pour plus d’informations sur les options d’extraction de SqlPackage, consultez SqlPackage extract.

Créer des objets

Ajoutez de nouveaux objets de base de données à votre projet en créant des .sql fichiers dans le dossier du projet. Chaque fichier doit contenir une instruction unique CREATE pour un objet de base de données. Par exemple, une définition de table :

CREATE TABLE [dbo].[Products]
(
    [ProductId] INT NOT NULL PRIMARY KEY,
    [ProductName] NVARCHAR (100) NOT NULL,
    [Price] DECIMAL (10, 2) NOT NULL
);

Organisez les fichiers par schéma et par type d’objet à l’aide de sous-dossiers, tels que dbo/Tables ou Sales/StoredProcedures. Cette structure correspond à la sortie de l’extraction SqlPackage et facilite la localisation des objets à mesure que votre projet augmente. Le processus de génération du projet SQL inclut tous les .sql fichiers dans le dossier du projet et ses sous-dossiers par défaut.

SSMS fournit des modèles pour les éléments courants pour vous aider à commencer. Pour ajouter un nouvel élément, cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, sélectionnez Ajouter>un nouvel élément, puis choisissez dans la liste des modèles d’objets SQL.

Ouvrir des projets existants

Pour ouvrir un projet de base de données SQL existant dans SSMS, sélectionnez Fichier>Ouvrir>un projet/solution et accédez au .sqlproj fichier.

Important

SSMS prend uniquement en charge les projets de style Microsoft.Build.Sql SDK. La version minimale prise en charge du SDK est 2.1.0. Si vous avez un projet SQL d’origine créé dans Visual Studio, vous devez le convertir au format de style SDK avant de l’ouvrir.

Pour obtenir des conseils sur la conversion de projets SQL d’origine au format de style SDK, consultez Convertir un projet SQL d’origine en projet de style SDK.

Générer des projets et déployer des modifications

Le flux de travail du projet SQL se compose de deux étapes principales : la création du projet pour valider et compiler le schéma et le déploiement de la sortie compilée sur une base de données cible.

Compilation du projet

La création d’un projet SQL valide les relations entre les objets et vérifie la syntaxe T-SQL sur la plateforme cible spécifiée. Le processus de génération produit un .dacpac fichier qui contient un modèle compilé du schéma de base de données.

Pour générer un projet dans SSMS, cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis sélectionnez Générer.

Capture d’écran de l’Explorateur de solutions montrant l’option de génération du projet SQL.

La sortie de build affiche les erreurs ou avertissements. Les erreurs indiquent des problèmes qui empêchent le déploiement, comme un affichage référençant une table qui n’existe pas. Les avertissements mettent en évidence des problèmes potentiels tels que la casse incohérente dans les noms d’objets.

Sur une build réussie, le fichier .dacpac est créé dans le dossier bin\Debug du répertoire de votre projet.

Pour plus d’informations sur la résolution des problèmes de build, consultez Résoudre les erreurs de génération de projet SQL.

Déployer les modifications

Après avoir généré votre projet, déployez-le .dacpac sur une base de données cible à l’aide de la boîte de dialogue Publier dans SSMS. Le processus de déploiement compare .dacpac à la base de données cible et génère les instructions CREATE, ALTER ou DROP nécessaires pour synchroniser la base de données avec votre projet.

Pour déployer, cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis sélectionnez Publier. Dans la boîte de dialogue Publier, configurez votre connexion de base de données cible et sélectionnez Publier pour appliquer des modifications ou Générer un script pour passer en revue le script de déploiement avant l’exécution.

Capture d’écran de la boîte de dialogue Publier pour le déploiement des modifications apportées au projet de base de données SQL.

Le processus de publication est idempotent, vous pouvez donc déployer le même .dacpac plusieurs fois sans provoquer de problèmes. Cette approche vous permet de déployer sur plusieurs environnements (développement, préproduction, production) à l’aide du même artefact compilé.

Pour plus d’informations sur les options de déploiement et la configuration, consultez Prise en main des projets de base de données SQL.