Procédure pas à pas : création et déploiement d'un projet de base de données faisant référence à des connexions partagées
Si plusieurs bases de données font référence aux mêmes objets serveur, vous pouvez créer un projet pour chaque base de données et un projet serveur dans lesquels vous importez des objets tels que des connexions partagées, des clés ou des messages d'erreur personnalisés. Dans cette procédure pas à pas, vous configurez un environnement de développement isolé pour une base de données qui référence des connexions partagées que vous importez dans un projet serveur. Cet environnement est basé sur le projet de base de données qui contient les définitions de tous les objets qui se trouvent dans la base de données de production.
Cette procédure pas à pas décrit les tâches suivantes :
Configuration du projet serveur partagé
Création du projet de base de données composite
Rendre le projet disponible à l'équipe (facultatif)
Composants requis
Vous devez installer Visual Studio Premium et avoir accès à une copie de SQL Server à partir de laquelle vous pouvez importer des objets serveur. Cette copie de SQL Server doit s'exécuter sur un serveur sur lequel vous pouvez déployer le projet de base de données.
Configuration du projet serveur partagé
Lorsque vous faites référence aux connexions partagées dans un environnement de développement, ces connexions sont définies habituellement dans un projet serveur qui déjà existe et que l'administrateur du serveur tient à jour.
Pour créer le projet serveur
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.
La boîte de dialogue Nouveau projet s'affiche.
Sous Modèles installés, développez le nœud Base de données, puis cliquez sur SQL Server.
Notes
Si vous utilisez Visual Studio Professional, regardez sous Modèles installés, développez le nœud Base de données , développez le nœud SQL Server et cliquez sur Avancé.
Dans la liste des modèles, cliquez sur Projet serveur SQL Server 2008.
Dans la zone Nom, tapez SharedServerProject.
Vous n'avez pas besoin de modifier les valeurs dans Emplacement et Nom de solution.
Activez la case à cocher Créer le répertoire pour la solution si elle ne l'est pas déjà.
Désactivez la case à cocher Ajouter au contrôle de code source si elle ne l'est pas déjà, puis cliquez sur OK.
Un projet serveur vide est ajouté à votre solution et apparaît dans l'Explorateur de solutions.
Ensuite, vous importez les objets serveur et les paramètres.
Pour importer des objets serveur et des paramètres
Dans l'Explorateur de solutions, cliquez sur le projet SharedServerProject.
Dans le menu Projet, cliquez sur Importer des objets et des paramètres.
Notes
À la place des étapes 1 et 2, vous pouvez cliquer avec le bouton droit sur SharedServerProject et cliquer sur Importer des objets et des paramètres.
Dans l'Assistant Importation de base de données, spécifiez une connexion au serveur à partir duquel vous souhaitez importer des objets et des paramètres, puis cliquez sur Démarrer.
Important
Pour cette procédure pas à pas, vous devez spécifier le serveur sur lequel vous déploierez votre projet de base de données.
Les objets et les paramètres pour le serveur sont importés dans votre projet.
Cliquez sur Terminer lorsque les objets et les paramètres ont été importés.
Dans le menu Affichage, cliquez sur Vue Schéma de base de données.
Développez le nœud SharedServerProject, développez le nœud Objets de niveau serveur, développez le nœud Sécurité et développez le nœud Connexions.
Identifiez et notez l'une des connexions qui s'affichent afin de pouvoir l'utiliser plus loin dans cette procédure.
Générez le projet serveur.
Pour générer le projet serveur
Dans le menu Générer, cliquez sur Générer la solution.
Lorsque vous générez la solution, vous créez un fichier SharedServerProject.dbschema, qui contient les définitions pour les objets et les paramètres dans le projet serveur. Vous référencerez ultérieurement ce fichier dans la procédure pas à pas.
Ensuite, vous créez un projet de base de données qui utilise une connexion définie dans ce projet serveur.
Création du projet de base de données composite
Pour créer le projet de base de données
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.
La boîte de dialogue Nouveau projet s'affiche.
Sous Modèles installés, développez le nœud Base de données, puis cliquez sur SQL Server.
Notes
Si vous utilisez Visual Studio Professional, regardez sous Modèles installés, développez le nœud Base de données , développez le nœud SQL Server et cliquez sur Avancé.
Dans la liste des modèles, cliquez sur Projet de base de données SQL Server 2008.
Dans la zone Nom, tapez CompositeDBProject.
Vous n'avez pas besoin de modifier les valeurs dans Emplacement et Nom de solution.
Activez la case à cocher Créer le répertoire pour la solution si elle ne l'est pas déjà.
Désactivez la case à cocher Ajouter au contrôle de code source si elle ne l'est pas déjà, puis cliquez sur OK.
Un projet de base de données vide est ajouté à votre solution et s'affiche dans l'Explorateur de solutions.
Ajoutez ensuite une référence à la sortie à partir du projet serveur que vous avez défini précédemment dans cette procédure pas à pas.
Pour ajouter une référence au projet serveur
Dans l'Explorateur de solutions, développez le nœud pour le projet CompositeDBProject, puis cliquez sur le nœud Références.
Dans le menu Projet, cliquez sur Ajouter une référence de base de données.
Notes
À la place des étapes 1 et 2, vous pouvez cliquer avec le bouton droit sur le nœud Références puis cliquer sur Ajouter une référence de base de données.
La boîte de dialogue Ajouter une référence de base de données s'affiche. Étant donné que la solution contient un seul projet de base de données, Schéma de projet de base de données (.dbschema) est sélectionné.
Cliquez sur Parcourir.
La boîte de dialogue Sélectionner un fichier de base de données s'affiche.
Spécifiez le fichier SharedServerProject.dbschema créé précédemment dans cette procédure pas à pas.
Par exemple, vous pouvez spécifier l'emplacement suivant :
Mes documents\Visual Studio 2010\Projects\SharedServerProject\SharedServerProject\sql\debug\SharedServerProject.dbschema
Cliquez sur Ouvrir.
Lorsque vous créez une référence à un fichier dbschema créé à partir d'un projet serveur, cette référence utilise la valeur par défaut « master » du littéral pour faire référence à ses objets. Il ne s'agit pas d'une référence composite, parce que vous avez défini une valeur de variable de base de données. Vous devez uniquement définir une variable de base de données si elle représente une base de données différente.
Cliquez sur OK.
Une référence est ajoutée au projet serveur. Vous pouvez maintenant utiliser tous les objets définis dans ce projet serveur comme s'ils avaient été définis dans le projet de base de données actif.
Ensuite, vous ajoutez un objet utilisateur au projet de base de données. L'objet utilisateur utilise une connexion définie dans le projet serveur.
Pour ajouter un utilisateur au projet de base de données
Dans le menu Affichage, cliquez sur Vue Schéma de base de données.
Développez le nœud CompositeDBProject, développez le nœud Sécurité, cliquez avec le bouton droit sur le nœud Utilisateurs, pointez sur Ajouter et cliquez sur Utilisateur.
La boîte de dialogue Ajouter un nouvel élément s'affiche.
Dans la zone Nom, tapez MyUser et cliquez sur Ajouter.
L'utilisateur est ajouté au projet de base de données et s'affiche dans la Vue Schéma. L'éditeur Transact-SQL s'ouvre et affiche la définition pour l'utilisateur.
Dans l'éditeur Transact-SQL, mettez à jour la définition de l'utilisateur pour qu'elle corresponde à l'exemple suivant :
CREATE USER [MyUser] FOR LOGIN [SharedLogin] WITH DEFAULT_SCHEMA = dbo;
Important
Vous devez remplacer [SharedLogin] par la connexion que vous avez identifiée à l'étape 7 de la procédure intitulée « Importer des objets serveur et des paramètres ».
Dans le menu Fichier, cliquez sur Enregistrer MyUser.user.sql.
Définissez ensuite un rôle de base de données.
Pour définir un rôle de base de données
En Vue Schéma, développez le nœud CompositeDBProject, développez le nœud Sécurité, et développez le nœud Rôles.
Cliquez avec le bouton droit sur le nœud Rôles de base de données, pointez sur Ajouter et cliquez sur Rôle de base de données.
La boîte de dialogue Ajouter un nouvel élément s'affiche.
Dans la zone Nom, tapez DbAccounting et cliquez sur Ajouter.
Le rôle est ajouté au projet de base de données et s'affiche dans la Vue Schéma. L'éditeur Transact-SQL s'ouvre et affiche la définition pour le rôle.
Dans le menu Fichier, cliquez sur Enregistrer DbAccounting.role.sql.
Ensuite, configurez les propriétés de déploiement pour le projet de base de données.
Pour associer l'utilisateur au nouveau rôle de base de données
Développez le nœud Scripts, développez le nœud Post-déploiement, et double-cliquez sur Script.PostDeployment.sql.
L'éditeur Transact-SQL s'ouvre et affiche le script de post-déploiement.
En bas du script de post-déploiement, ajoutez l'instruction Transact-SQL :
exec sp_addrolemember 'DbAccounting','MyUser';
Dans le menu Fichier, cliquez sur Enregistrer Script.PostDeployment.sql.
Ensuite, configurez les propriétés de déploiement pour le projet de base de données.
Pour configurer le projet de base de données pour le déploiement
Dans l'Explorateur de solutions, cliquez sur CompositeDBProject (le projet de base de données).
Dans le menu Projet, cliquez sur Propriétés de CompositeDBProject.
Les propriétés du projet s'affichent.
Cliquez sur l'onglet Déployer.
Dans la liste Déployer une action, cliquez sur Créer un script de déploiement (.sql) et le déployer vers la base de données.
Sous Paramètres de la base de données cible, cliquez sur Modifier et spécifiez une connexion au serveur et à la base de données sur lequel vous souhaitez déployer le projet de base de données.
Notes
Si vous ne spécifiez pas le serveur à partir duquel vous avez importé les objets serveur, le déploiement échouera car les connexions sont définies sur ce serveur.
Dans le menu Fichier, cliquez sur Enregistrer les éléments sélectionnés.
Ensuite, vous générez le projet de base de données.
Pour générer le projet de base de données
Dans le menu Générer, cliquez sur Générer la solution.
Le projet est généré sans erreurs.
Déployez ensuite le projet de base de données sur le serveur cible et la base de données.
Pour déployer le projet de base de données
Dans le menu Générer, cliquez sur Déployer CompositeDBProject.
Le projet est déployé sans erreurs.
Rendre le projet disponible à l'équipe (facultatif)
Pour ajouter votre projet au contrôle de version
Dans l'Explorateur de solutions, cliquez sur le nœud pour la solution CompositeDBProject.
Dans le menu Fichier, pointez sur Contrôle de code source, puis cliquez sur Ajouter la solution au contrôle de code source.
Notes
À ce stade, vous interagissez avec le logiciel de contrôle de version installé. Cette procédure pas à pas fournit des étapes permettant d'ajouter votre projet à Visual Studio Team Foundation Server. Si vous utilisez un autre logiciel de contrôle de version, substituez les étapes équivalentes.
Si vous utilisez Team Foundation Server, la boîte de dialogue Se connecter à Team Foundation Server s'affiche.
Dans Se connecter à Team Foundation Server, cliquez sur le serveur qui héberge le projet d'équipe auquel vous voulez ajouter votre solution.
Notes
Si vous n'avez pas de projet d'équipe auquel vous pouvez ajouter le projet de base de données, consultez Planification et suivi de projets.
Dans Projets d'équipe, cliquez sur le projet d'équipe auquel vous voulez ajouter le projet de base de données, puis cliquez sur OK.
La boîte de dialogue Ajouter la solution CompositeDBProject au contrôle de code source s'affiche.
Cliquez sur OK pour accepter les valeurs par défaut.
Votre projet de base de données et les fichiers qu'il contient sont placés sous contrôle de version. Initialement, ils sont encore extraits. Vous devez les archiver pour que d'autres membres de l'équipe puissent y accéder.
Dans le menu Affichage, pointez sur Autres fenêtres, puis cliquez sur Modifications en attente.
La fenêtre Modifications en attente s'affiche.
Dans Commentaire, tapez Création de projet de base de données initial.
Dans la barre d'outils pour la fenêtre Modifications en attente, cliquez sur Archiver.
La boîte de dialogue Progression de l'archivage s'affiche pendant l'archivage du projet de base de données et des fichiers qu'il contient. Les icônes situées dans l'Explorateur de solutions changent pour montrer que les fichiers sont archivés dans le contrôle de version.
Étapes suivantes
Lorsque le projet de base de données est archivé dans le contrôle de version, les membres de l'équipe peuvent continuer à développer le projet de base de données. Les développeurs de base de données n'ont pas besoin de modifier le projet serveur. Par conséquent, vous pouvez limiter les autorisations afin qu'ils puissent afficher mais pas modifier les objets partagés.
Voir aussi
Concepts
Vue d'ensemble des projets de base de données et serveur
Démarrage du développement en équipe de bases de données
Démarrage du développement en équipe de bases de données faisant référence à des objets SQLCLR