Vue d'ensemble des projets de base de données et serveur
Vous pouvez aider votre organisation à gérer plus efficacement son développement de base de données en utilisant Visual Studio Premium pour créer un projet de base de données ou un projet serveur et en plaçant le projet sous un contrôle de version. Ces représentations hors ligne contiennent les définitions d'objets, les paramètres et les scripts de déploiement que vous pourriez utiliser pour créer une instance distincte de cette base de données (ou serveur) ou pour mettre à jour une instance existante.
Selon les besoins de votre organisation, vous pouvez également partager des parties de projets ou créer un projet composite. Pour plus d'informations, consultez Partage de parties de projets, plus loin dans cette rubrique, ou la section « Création de projets composites à l'aide de références » d'Utilisation de références dans les projets de base de données.
Types de projets disponibles
Grâce à Visual Studio 2010 Premium, vous pouvez créer des projets de base de données, des projets serveur et des projets DAC (composant d'application de couche Données).
Projet DAC (composant d'application de couche Données)
Un projet DAC est un nouveau concept. Il a été présenté avec SQL Server 2008 R2 et contient la définition d'une base de données SQL Server et les objets d'instance de support utilisés par un client-serveur ou une application à 3 couches. Une application de couche Données comprend des objets de base de données, tels que des tables et des vues, ainsi que des entités d'instance telles que des connexions. Vous pouvez utiliser Visual Studio pour créer un projet d'application de couche Données, générer un fichier de package d'application de couche Données et envoyer ce fichier de package à un administrateur de base de données pour un déploiement sur une instance du moteur de base de données SQL Server. Pour obtenir une liste des fonctionnalités prises en charge par les projets DAC, consultez Fonctionnalités prises en charge dans les applications de couche Données.Projet de base de données
Un projet de base de données contient les définitions de tous les objets d'une base de données. De plus, il contient des paramètres de la base de données, des paramètres de génération et des paramètres de déploiement.Projet serveur
Un projet serveur contient les définitions des objets qui se trouvent sur le serveur ou dans la base de données MASTER sur le serveur. De plus, il contient des paramètres du serveur, des paramètres de génération et des paramètres de déploiement.
Structure de projet
L'Explorateur de solutions affiche votre projet organisé par fichier. Chaque élément de l'Explorateur de solutions correspond à un fichier ou à un dossier enregistré. Au contraire, Vue Schéma affiche votre projet organisé par objet ou par schéma, afin que vous puissiez identifier des objets dans votre base de données, qu'ils soient ou non définis dans des fichiers séparés.
Un projet serveur ou de base de données peut contenir les types d'objets suivants :
Fichiers de propriétés
Votre projet serveur ou de base de données inclut des fichiers dans le dossier Propriétés qui contiennent des valeurs de propriétés. Vous pouvez contrôler le déploiement de votre projet en modifiant ces valeurs. Par exemple, vous pouvez spécifier des paramètres de la base de données, des paramètres du serveur, des variables SQLCMD et des autorisations de base de données. Pour plus d'informations, consultez Fichiers de propriétés des projets de base de données et serveur.Plans de génération de données
Les plans de génération de données contiennent des informations sur la génération de tests de données réalistes et représentatifs pour une base de données que vous envisagez de déployer ou de mettre à jour. Pour plus d'informations, consultez Génération de données de test pour des bases de données à l'aide de générateurs de données.Comparaisons de schémas
Une comparaison de schémas contient des informations sur une comparaison spécifique entre votre projet de base de données et un autre schéma. Pour comparer à nouveau votre projet à ce schéma, vous pouvez rouvrir le fichier .scmp et actualiser la comparaison. Pour plus d'informations, consultez Comparer et synchroniser des schémas de base de données.Objets de schéma
Les objets de schéma sont définis dans une collection de fichiers .sql stockés dans le dossier du projet. La plupart des objets sont définis dans des fichiers séparés. Il existe quelques exceptions dont les colonnes d'une table et les paramètres pour une fonction ou une procédure stockée. Les colonnes sont stockées dans la définition de la table et les paramètres le sont dans la définition de la fonction ou de la procédure stockée. Pour plus d'informations, consultez Création et modification des objets de base de données et serveur.Scripts
Votre projet contient des scripts de pré-déploiement et de post-déploiement, en plus de tous les scripts que vous pouvez utiliser pour gérer votre serveur ou base de données. Pour plus d'informations, consultez Création et modification de scripts de base de données.
Importation d'objets et de paramètres
Après avoir créé un projet, vous pouvez importer les objets et les paramètres à partir d'une instance de base de données ou à partir d'un script. Lorsque vous importez une base de données, ses définitions d'objet sont validées, et les instructions qui ne peuvent pas être analysées sont placées dans le fichier ScriptsIgnoredOnImport.sql. Si vous importez des définitions d'objets qui font référence à des objets qui n'existent plus, vous devez résoudre ces erreurs avant de pouvoir générer et déployer le projet. Par exemple, vous pouvez importer une procédure stockée qui référence une table qui n'existe plus. Pour résoudre cette erreur, vous pouvez supprimer cette procédure stockée.
Vous devrez peut-être passer un certain temps à résoudre ce type d'erreurs après l'importation d'un schéma volumineux. Toutefois, les membres de l'équipe ne peuvent pas introduire d'erreurs supplémentaires de ce type lorsqu'ils mettent à jour le schéma dans Visual Studio Premium. Lorsqu'ils modifient et enregistrent des définitions d'objet, toutes les modifications sont validées afin que les membres de l'équipe puissent les résoudre immédiatement et éviter de les déployer dans une base de données active.
Après avoir résolu les avertissements dans les définitions d'objet, vous devez envisager d'analyser également votre code de base de données pour rechercher les problèmes relatifs à la conception, à l'attribution de noms et aux performances. Pour plus d'informations, consultez Analyse du code de base de données pour en améliorer la qualité.
Partage de parties de projets
Si vous souhaitez réutiliser un jeu de fichiers dans plusieurs projets, vous pouvez exporter toute partie d'un projet en tant que projet partiel. Cette action crée un fichier .files, que vous pouvez inclure dans un ou plusieurs autres projets. Par exemple, vous pouvez disposer de certaines procédures stockées communes que vous utilisez pour auditer toutes vos bases de données. Vous pouvez définir ces procédures stockées dans un projet, les exporter et les inclure dans vos autres projets. En adoptant cette approche, vous évitez de devoir gérer le même code dans plusieurs projets. Pour plus d'informations, consultez Comment : importer et exporter des projets de base de données partiels.
Considérations sur la sécurité
Vos projets de base de données et tous les fichiers .dbschema connexes contiennent des informations sur vos ressources de base de données. Tout comme vous restreindriez l'accès au code source, vous devez restreindre l'accès à vos projets de base de données et aux fichiers .dbschema.
Vous pouvez utiliser les méthodes suivantes pour contrôler l'accès à vos projets de base de données et aux fichiers .dbschema :
Utiliser le contrôle de version pour vos projets et les autorisations de système de fichiers appropriées
Vous pouvez accorder l'accès à vos projets de base de données uniquement aux développeurs qui en font la demande. De plus, vous pouvez restreindre des autorisations sur tous les partages de fichiers qui contiennent des fichiers de projets de base de données ou des fichiers .dbschema pour empêcher tout accès par des personnes non autorisées.Partitionner un projet de base de données à l'aide de projets partiels
Vous pouvez diviser vos objets de base de données sur plusieurs projets et utiliser des autorisations de contrôle de version afin de contrôler les personnes capables d'afficher ou de modifier ces projets. Pour plus d'informations, consultez Démarrage du développement en équipe de bases de données volumineuses.Créer un fichier .dbschema dont les corps de procédure sont vides
Vous pouvez créer une copie de vos procédures stockées qui ne contiennent pas d'implémentation et partager le fichier .dbschema pour cette copie avec des développeurs qui doivent appeler ces procédures, mais qui ne doivent pas consulter leur implémentation. Pour plus d'informations sur le référencement des fichiers .dbschema, consultez Utilisation de références dans les projets de base de données.
Scénarios connexes
Démarrage du développement en équipe de bases de données
Vous pouvez gérer des modifications dans une base de données en créant une représentation hors connexion de ses objets et paramètres, et en plaçant cette représentation sous contrôle de version.Démarrage du développement en équipe de bases de données faisant référence à d'autres bases de données
Vous pouvez gérer des modifications dans une base de données en créant une représentation hors connexion de ses objets et paramètres, et en plaçant cette représentation sous contrôle de version. Dans cette représentation, vous définissez des références entre bases de données pour prendre en charge le déploiement dans des environnements cible différents.Démarrage du développement en équipe de bases de données faisant référence à des objets SQLCLR
Vous pouvez gérer des modifications dans une base de données en créant une représentation hors connexion de ses objets et paramètres, et en plaçant cette représentation sous contrôle de version. Dans cette représentation, vous ajoutez des références à un assembly SQLCLR et utiliser les objets définis dans cet assembly.Démarrage du développement en équipe de bases de données faisant référence à des objets serveur partagés
Vous pouvez gérer des modifications dans une base de données en créant une représentation hors connexion de ses objets et paramètres, et en plaçant cette représentation sous contrôle de version. Dans cette représentation, vous ajoutez une référence à un projet serveur partagé qui contient les définitions d'objets serveur, tels que les connexions ou les clés.Démarrage du développement en équipe de bases de données volumineuses
Vous pouvez gérer les modifications apportées à une base de données volumineuse en séparant les objets sur plusieurs projets.Démarrage du développement en équipe de bases de données qui utilisent des collections de schémas XML
Vous pouvez gérer les modifications apportées aux bases de données qui utilisent une ou plusieurs collections de schémas XML pour les colonnes XML typées.
Voir aussi
Tâches
Procédure pas à pas : placement d'un schéma de base de données existant sous contrôle de version
Concepts
Générer et déployer des bases de données dans un environnement de développement isolé
Configuration de projets de base de données et réalisation d'un déploiement de tests