Partager via


Tutoriel : débuter à partir d’une base de données existante

S'applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de données SQL dans Microsoft Fabric

Les projets SQL contiennent des fichiers déclaratifs (CREATE instruction) pour tous les objets d’une base de données, tels que les tables, les vues et les procédures stockées. Vous pouvez utiliser ces fichiers pour créer des bases de données, mettre à jour des bases de données existantes ou suivre la base de données dans le contrôle de code source. Souvent, vous commencez par un projet SQL lorsque vous disposez d’une base de données existante et que vous souhaitez créer des objets dans le projet SQL qui correspondent à la base de données avec un effort minimal.

Certains outils de projet SQL incluent une étape unique pour créer un projet SQL à partir d’une base de données existante. D'autres outils nécessitent quelques étapes pour créer un projet SQL et importer des objets à partir d'une base de données existante. À l’exception des instructions Visual Studio (SQL Server Data Tools), ce guide se concentre sur les projets SQL de style SDK.

Avec l’option 1 dans ce tutoriel, vous devez :

  • Étape 1 : Créer un projet SQL à partir d’une base de données existante
  • Étape 2 : Générer le projet SQL

Avec l’option 2 dans ce tutoriel, vous devez :

  • Étape 1 : Créer un projet SQL vide
  • Étape 2 : Importer des objets à partir d’une base de données existante
  • Étape 3 : Générer le projet SQL

Prerequisites

# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage

# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates

Note

Pour suivre le didacticiel, vous devez accéder à une instance Azure SQL ou SQL Server. Vous pouvez développer localement gratuitement avec SQL Server édition développeur sur Windows ou dans containers.

Option 1 : créer un projet SQL à partir d’une base de données existante

Étape 1 : créer un nouveau projet SQL à partir d'une base de données existante

À partir du SQL Server Explorateur d'objets dans Visual Studio, cliquez avec le bouton droit sur la base de données à partir de laquelle vous souhaitez créer un project et sélectionnez Create New Project... .

Screenshot de la boîte de dialogue Importer une base de données dans Visual Studio.

Dans la boîte de dialogue Create New Project, entrez un nom de project. Le nom du projet n’a pas besoin de correspondre à un nom de base de données. Vérifiez et modifiez l'emplacement du projet si nécessaire. Les paramètres d'importation par défaut permettent d'importer les objets dans des dossiers par schéma, puis par type d'objet. Vous pouvez modifier les paramètres d'importation pour changer la structure des dossiers ou pour inclure des autorisations dans les objets importés. Démarrer l'importation.

La boîte de dialogue Importer une base de données affiche la progression de l’importation sous forme de messages. Une fois l’importation terminée, vous pouvez voir les objets importés dans le Explorateur de solutions. Le processus stocke les journaux d’activité dans un fichier dans le répertoire du projet sous Import Schema Logs. Sélectionnez Terminer.

L'option 1 n'est pas disponible pour les projets SQL de style SDK dans Visual Studio. Utilisez options 2 à la place.

Dans la vue explorateur d’objets de base de données dans Visual Studio Code, sélectionnez une base de données à partir de laquelle vous souhaitez créer un projet. Cliquez avec le bouton droit sur la base de données et sélectionnez Create Project à partir de la base de données.

Capture d'écran de la boîte de dialogue Créer un projet à partir d'une base de données dans Visual Studio Code.

Dans Visual Studio Code, la boîte de dialogue Create à partir de la base de données nécessite le nom et l’emplacement du projet. Les paramètres d'importation par défaut permettent d'importer les objets dans des dossiers par schéma, puis par type d'objet. Vous pouvez sélectionner une autre structure de dossiers ou choisir d’inclure des autorisations dans les objets importés avant de sélectionner Créer.

Ouvrez la vue Projets de base de données pour voir le nouveau projet et les définitions d'objets importés.

L'option 1 n'est pas disponible pour SQL Server Management Studio. Utilisez options 2 à la place.

L’option 1 n’est pas disponible pour la ligne de commande. Utilisez options 2 à la place.

Étape 2 : Générer le projet SQL

Le processus de génération valide les relations entre les objets et la syntaxe par rapport à la plateforme cible spécifiée dans le fichier de projet. La sortie de l’artefact du processus de génération est un .dacpac fichier que vous pouvez utiliser pour déployer le projet sur une base de données cible. Ce fichier contient le modèle compilé du schéma de base de données.

Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Build.

La fenêtre de sortie s'ouvre automatiquement pour afficher le processus de génération. En cas d’erreurs ou d’avertissements, la fenêtre de sortie les affiche. Sur une build réussie, l’artefact de build (fichier .dacpac) est créé et son emplacement est inclus dans le résultat de la construction (par défaut bin\Debug\projectname.dacpac).

L'option 1 n'est pas disponible pour les projets SQL de style SDK dans Visual Studio. Utilisez options 2 à la place.

Dans la vue Database Projects de Visual Studio Code, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Build.

La fenêtre de sortie s'ouvre automatiquement pour afficher le processus de génération. En cas d’erreurs ou d’avertissements, la fenêtre de sortie les affiche. Sur une build réussie, l’artefact de build (fichier .dacpac) est créé et son emplacement est inclus dans le résultat de la construction (par défaut bin/Debug/projectname.dacpac).

L'option 1 n'est pas disponible pour SQL Server Management Studio. Utilisez options 2 à la place.

L’option 1 n’est pas disponible pour la ligne de commande. Utilisez options 2 à la place.

Option 2 : créer un projet SQL vide et importer des objets à partir d'une base de données existante

Vous pouvez également séparer les étapes de création de projet et d’importation d’objet.

Étape 1 : Créer un nouveau projet SQL vide

Démarrez votre projet en créant un projet de base de données SQL avant d’y importer vos objets.

Sélectionnez File, New, puis Project.

Dans la boîte de dialogue New Project, utilisez le terme SQL Server dans la zone de recherche. Le résultat supérieur est SQL Server Database Project.

Capture d’écran de la boîte de dialogue Nouveau projet.

Cliquez sur Suivant pour passer à l’étape suivante. Entrez un nom de projet, qui n’a pas besoin de correspondre à un nom de base de données. Vérifiez et modifiez l'emplacement du projet si nécessaire.

Sélectionnez Créer pour créer le projet. Le projet vide s’ouvre et est visible dans le Explorateur de solutions pour modification.

Sélectionnez File, New, puis Project.

Dans la boîte de dialogue New Project, utilisez le terme SQL Server dans la zone de recherche. Le résultat principal est SQL Server Base de données Project, style SDK (préversion).

Capture d’écran de la boîte de dialogue Nouveau projet.

Cliquez sur Suivant pour passer à l’étape suivante. Entrez un nom de projet, qui n’a pas besoin de correspondre à un nom de base de données. Vérifiez et modifiez l'emplacement du projet si nécessaire.

Sélectionnez Créer pour créer le projet. Le projet vide s’ouvre et est visible dans le Explorateur de solutions pour modification.

Dans la vue Database Projects de Visual Studio Code, sélectionnez le bouton New Project.

Capture d'écran du nouveau viewlet.

La première invite détermine le modèle de projet à utiliser, principalement en fonction du fait que la plateforme cible est SQL Server ou Azure SQL. Si vous êtes invité à sélectionner une version spécifique de SQL, choisissez la version qui correspond à la base de données cible. Si vous ne connaissez pas la version de la base de données cible, choisissez la dernière version, car la valeur peut être modifiée ultérieurement.

Saisissez un nom de projet dans la zone de texte qui s'affiche, qui ne doit pas nécessairement correspondre à un nom de base de données.

Dans la boîte de dialogue Sélectionner un dossier qui s’affiche, sélectionnez un répertoire où seront livrés le dossier du projet, le fichier .sqlproj et les autres contenus.

Lorsque vous êtes invité à choisir de créer un projet de style SDK, sélectionnez Oui.

Une fois terminé, le projet vide s’ouvre et est visible dans la vue Projets de base de données pour modification.

Sélectionnez File, New, puis Project.

Dans la boîte de dialogue New Project, sélectionnez SQL Database Project.

Capture d’écran de la boîte de dialogue Nouveau projet.

Cliquez sur Suivant pour passer à l’étape suivante. Entrez un nom de projet, qui n’a pas besoin de correspondre à un nom de base de données. Vérifiez et modifiez l'emplacement du projet si nécessaire.

Sélectionnez Créer pour créer le projet. Le projet vide s’ouvre et est visible dans le Explorateur de solutions pour modification.

Lorsque vous installez les modèles .NET pour Microsoft. Les projets Build.Sql, vous pouvez créer un projet de base de données SQL à partir de la ligne de commande. L’option -n spécifie le nom du projet et l’option -tp spécifie la plateforme cible du projet.

Utilisez l’option -h pour afficher toutes les options disponibles.

# create a new SQL database project
dotnet new sqlproj -n MyDatabaseProject

Étape 2 : importer des objets à partir d’une base de données existante

Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Import -> Database... . Si cette option est désactivée, votre projet de base de données peut avoir des objets créés dans celui-ci. Vous pouvez supprimer les objets ou créer un projet.

Dans la boîte de dialogue Importer une base de données, sélectionnez la connexion à la base de données à partir de laquelle vous souhaitez importer des objets. Si vous vous êtes connecté à la base de données dans SQL Server Explorateur d'objets, il apparaît dans la liste history.

Screenshot de la boîte de dialogue Importer une base de données dans Visual Studio.

Les paramètres d'importation par défaut permettent d'importer les objets dans des dossiers par schéma, puis par type d'objet. Vous pouvez modifier les paramètres d'importation pour changer la structure des dossiers ou pour inclure des autorisations dans les objets importés. Démarrer l'importation.

Pendant l'importation, la progression est affichée sous forme de messages dans la boîte de dialogue Importer la base de données. Une fois l’importation terminée, les objets importés sont visibles dans le Explorateur de solutions et les journaux sont stockés dans un fichier dans le répertoire du projet sous Import Schema Logs. Sélectionnez Terminer pour retourner au projet.

Utilisez l’interface CLI SqlPackage pour importer des objets d’une base de données existante vers le nouveau projet de base de données SQL que vous avez créé à Visual Studio à l’étape 1. La commande SqlPackage suivante importe le schéma d'une base de données vers un dossier MyDatabaseProject organisé par dossiers imbriqués de schémas et de types d'objets.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

Lorsque vous placez ces dossiers dans un dossier de projet de base de données SQL de style SDK, ils sont automatiquement inclus dans le projet sans avoir à les importer ou à modifier le fichier projet SQL.

Dans l’extension Projets SQL Database dans Visual Studio Code, ouvrez la vue Database Projects. Cliquez avec le bouton droit sur le nœud du projet et sélectionnez Mettre à jour le projet à partir de la base de données.

Screenshot de la boîte de dialogue Mettre à jour la base de données dans Visual Studio Code.

Dans la boîte de dialogue Mettre à jour la base de données, sélectionnez la connexion à la base de données à partir de laquelle vous souhaitez importer des objets. Si vous vous êtes connecté à la base de données en mode Connexions , il apparaît dans la liste d’historiques .

Sélectionnez soit Afficher les modifications dans la comparaison de schémas pour examiner et choisir un sous-ensemble d'objets à importer, soit Appliquer toutes les modifications pour importer tous les objets.

Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Import From Database... .

Dans la boîte de dialogue Importer une base de données, sélectionnez la connexion à la base de données à partir de laquelle vous souhaitez importer des objets.

Capture d’écran de la boîte de dialogue Importer une base de données dans SSMS.

Les paramètres d’importation par défaut importent tous les objets de la base de données dans le projet et les organisent dans les dossiers par schéma et type d’objet, mais annulent l’importation si des objets du projet sont remplacés. Vous pouvez modifier l’importation pour mettre à jour le projet avec des objets de la base de données en sélectionnant Remplacer les objets existants dans le projet. Sélectionnez Importer pour commencer l’importation.

Une fois l’importation terminée, Explorateur de solutions est mis à jour avec les objets importés.

Utilisez l’interface CLI SqlPackage pour extraire le schéma d’une base de données existante dans un fichier ou des .dacpac fichiers individuels .sql . La commande SqlPackage suivante extrait le schéma d’une base de données dans des .sql fichiers organisés par des dossiers de schéma et de type d’objet imbriqués.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

Lorsque vous placez ces dossiers dans un dossier de projet de base de données SQL de style SDK, ils sont automatiquement inclus dans le projet sans avoir à les importer ou à modifier le fichier projet SQL.

Étape 3 : Générer le projet SQL

Le processus de génération valide les relations entre les objets et la syntaxe par rapport à la plateforme cible spécifiée dans le fichier de projet. La sortie de l’artefact du processus de génération est un .dacpac fichier que vous pouvez utiliser pour déployer le projet sur une base de données cible. Ce fichier contient le modèle compilé du schéma de base de données.

Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Build.

La fenêtre de sortie s'ouvre automatiquement pour afficher le processus de génération. En cas d’erreurs ou d’avertissements, la fenêtre de sortie les affiche. Lorsqu'une compilation réussit, un artefact de compilation (.dacpac fichier) est créé et son emplacement est inclus dans la sortie de compilation (valeur par défaut bin\Debug\projectname.dacpac).

Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Build.

La fenêtre de sortie s'ouvre automatiquement pour afficher le processus de génération. En cas d’erreurs ou d’avertissements, la fenêtre de sortie les affiche. Sur une build réussie, l’artefact de build (fichier .dacpac) est créé et son emplacement est inclus dans le résultat de la construction (par défaut bin\Debug\projectname.dacpac).

Dans la vue Database Projects de Visual Studio Code, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Build.

La fenêtre de sortie s'ouvre automatiquement pour afficher le processus de génération. En cas d’erreurs ou d’avertissements, la fenêtre de sortie les affiche. Sur une build réussie, l’artefact de build (fichier .dacpac) est créé et son emplacement est inclus dans le résultat de la construction (par défaut bin/Debug/projectname.dacpac).

Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Build.

Capture d'écran de l'Explorateur de solutions dans SQL Server Management Studio avec l'option Générer disponible.

La fenêtre de sortie s'ouvre automatiquement pour afficher le processus de génération. En cas d’erreurs ou d’avertissements, la fenêtre de sortie les affiche. Sur une build réussie, l’artefact de build (fichier .dacpac) est créé et son emplacement est inclus dans le résultat de la construction (par défaut bin\Debug\projectname.dacpac).

Vous pouvez générer des projets de base de données SQL à partir de la ligne de commande à l’aide de la dotnet build commande.

dotnet build

# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj

Le résultat de la compilation inclut les erreurs et les avertissements, ainsi que les fichiers et les numéros de ligne précis où ils apparaissent. Sur une build réussie, l’artefact de build (fichier .dacpac) est créé et son emplacement est inclus dans le résultat de la construction (par défaut bin/Debug/projectname.dacpac).