Création et modification des objets de base de données et serveur
Les objets de base de données définissent la structure du contenu de votre base de données. Ces objets sont contenus dans un projet de base de données, lequel peut également inclure des plans de génération de données et des scripts. Les objets serveur définissent des objets qui existent sur le serveur de base de données mais pas dans une base de données (par exemple, les connexions, les certificats ou les messages d'erreur personnalisés). Les objets serveur sont contenus dans des projets serveur.
Dans l'Explorateur de solutions, les définitions des objets de base de données et des objets serveur sont contenues dans des fichiers et regroupées par type dans le projet de base de données ou le projet serveur. Lorsque vous gérez des objets de base de données et des objets serveur, vous préférerez peut-être, intuitivement, utiliser la Vue Schéma, dans laquelle les objets sont regroupés par type. Un fichier de votre projet de base de données est analysé à la recherche d'une définition d'objet de base de données si Build Type a la valeur Build. Les fichiers qui sont contenus dans votre projet de base de données avec un Build Type différent ne sont pas traités comme s'ils contenaient des objets de base de données et n'apparaissent pas dans la Vue Schéma.
Tâches courantes
Le tableau suivant comporte les descriptions des tâches courantes qui prennent en charge ce scénario, ainsi que des liens pointant vers des informations supplémentaires sur la façon de mener à bien ces tâches.
Tâche |
Contenu de support |
---|---|
Apprendre en faisant : vous pouvez suivre une première procédure pas à pas pour vous familiariser avec la création d'un projet de base de données et de ses objets et la modification de ces objets. |
|
En savoir plus sur les objets de base de données et les objets serveur : plus loin dans cette rubrique, vous pouvez en apprendre plus sur les objets de base de données et sur les objets serveur, notamment sur la manière de résoudre les noms, de faire référence aux noms de bases de données dans les définitions d'objet et de valider les objets. |
|
Comprendre les dépendances entre les objets de base de données : vous pouvez afficher les objets dont dépend un objet de base de données et les objets qui dépendent de cet objet. |
|
Ajouter des objets à votre projet de base de données ou projet serveur : vous pouvez ajouter des objets à votre projet de base de données ou projet serveur au moyen de plusieurs méthodes :
|
|
Ajouter des objets spécialisés à votre projet de base de données ou projet serveur : pour ajouter des types d'objet à votre projet, vous devez suivre une procédure légèrement différente et spécifique à chaque type d'objet.
|
|
Modifier des objets de base de données ou des objets serveur : vous pouvez modifier les définitions des objets dans votre projet serveur ou projet de base de données. Vous pouvez également modifier les options SET de niveau objet pour ces objets. |
|
Supprimer des objets de votre projet de base de données ou projet serveur : vous pouvez enlever des objets de votre projet de base de données ou projet serveur afin de les supprimer définitivement. Vous pouvez également exclure temporairement des objets qui sont encore en cours de développement. |
|
Personnaliser les modèles pour les objets de base de données et les objets serveur : vous pouvez afficher et modifier les modèles que vous utilisez lors de la création des objets de base de données et des objets serveur. |
|
Résoudre les problèmes : vous pouvez en apprendre plus sur la résolution des problèmes courants liés aux projets de base de données et aux projets serveur. |
Définitions d'objet
Les objets de base de données et les objets serveur sont définis dans une collection de fichiers .sql qui sont stockés dans le dossier du projet. La plupart des objets sont définis dans des fichiers séparés. Il existe quelques exceptions, comme les colonnes d'une table et les paramètres pour une procédure stockée ou une fonction. Les colonnes sont spécifiées dans le fichier qui contient la définition de table, et les paramètres sont spécifiés dans le fichier qui contient la procédure stockée ou la fonction.
La propriété Action de génération d'un fichier .sql indique si ce dernier est analysé pour vérifier s'il contient la définition d'un objet de base de données. Par défaut, les fichiers qui contiennent des définitions pour les objets de base de données ont la valeur Build, et les autres scripts .sql et fichiers divers ont la valeur Pas dans la génération. La propriété Action de génération détermine également si le script de compilation inclut le fichier.
Le nom de chaque objet détermine son nom de fichier, et le type d'objet détermine l'extension de son nom de fichier par défaut. Par exemple, les fonctions figurent dans des fichiers nommés NomObjet.function.sql, et les procédures stockées figurent dans des fichiers nommés NomObjet.proc.sql.
Objets dans l'Explorateur de solutions et dans la Vue Schéma
Dans l'Explorateur de solutions, vous gérez les fichiers contenus dans votre projet et qui contiennent les définitions de vos objets. Vous ne pouvez pas utiliser la refactorisation de changement de nom dans l'Explorateur de solutions. Vous pouvez utiliser l'Explorateur de solutions pour gérer les fichiers, par exemple lorsque vous voulez archiver votre projet dans le contrôle de version.
Dans la Vue Schéma, vous gérez les objets de base de données. Vous utilisez la Vue Schéma lorsque vous gérez les objets et non les fichiers qui contiennent leurs définitions. Par exemple, vous pouvez utiliser la Vue Schéma pour créer des objets de base de données.
Résolution de noms d'objets
En général, les noms d'objet doivent être résolus à l'aide des mêmes règles que celles utilisées par SQL Server. Il est parfois nécessaire que certains sysobjects soient qualifiés complets pour une résolution correcte. Si des erreurs sont générées ou si vous notez un comportement inattendu dans des situations qui impliquent des noms d'objets qui ne sont pas qualifiés complets, vous devez qualifier entièrement le nom d'objet pour essayer de résoudre le problème.
Référence au nom de base de données dans des définitions d'objets
Vous pouvez utiliser le jeton $(databasename) dans le script de définition d'objet d'un projet de base de données, mais les restrictions suivantes s'appliquent :
Vous devez placer le jeton entre crochets, comme illustré dans l'exemple suivant :
[$(databasename)]
Vous ne pouvez pas utiliser le jeton pour spécifier un nom en trois parties, comme illustré dans l'exemple suivant :
[$(databasename)].[dbo].[Table1]
L'exemple suivant montre comment utiliser le jeton de nom $(database) dans une procédure stockée :
CREATE PROCEDURE [dbo].[MyProcedure]
@param1 INT = 0,
@param2 INT
AS
ALTER DATABASE [$(databasename)]
MODIFY FILEGROUP [FileGroup1] DEFAULT
RETURN 0
Options SET de niveau objet
Outre les options SET que vous pouvez définir pour votre projet de base de données, vous pouvez également spécifier des valeurs pour deux options sur les objets de base de données individuels. Ces options sont Valeurs ANSI NULL et Identificateur entre guillemets. Par défaut, les options SET de chaque objet correspondent aux options SET du projet de base de données. Vous pouvez définir ces deux options sur le paramètre par défaut du projet (Actif), ou sur Inactif. Lorsque vous générez le projet de base de données, seules les options SET de niveau objet qui ont une valeur différente du paramètre par défaut du projet font l'objet d'un script dans le script de compilation.
Notes
Lorsque vous utilisez les commandes Importer le script ou Importer un schéma de base de données, les valeurs des options SET ne sont pas importées pour les objets de base de données individuels. Vous devez les définir dans la fenêtre Propriétés. Pour plus d'informations, consultez Comment : spécifier des options SET de niveau objet.
Validation d'objet
La validation se produit lorsque vous enregistrez des modifications sur un objet de base de données que vous avez créé ou modifié. Toutes les erreurs dans la définition d'objet apparaissent dans la fenêtre Liste d'erreurs. Si vous double-cliquez sur le message d'erreur, la définition d'objet s'ouvre afin que vous puissiez corriger l'erreur. Les objets de base de données qui contiennent des erreurs affichent un point d'exclamation rouge sur leurs icônes dans la vue Schéma.
Notes
Si un objet de base de données n'est pas pris en charge dans la version que vous utilisez, l'icône de cet objet est un triangle jaune inversé.
Pour plus d'informations sur le dépannage des problèmes liés aux objets de base de données, consultez Dépannage des problèmes de projet, de génération et de déploiement de base de données.
Scénarios connexes
Création et modification de scripts de base de données
Vous pouvez spécifier des scripts de prédéploiement et de post-déploiement pour exécuter des actions avant ou après le déploiement d'une base de données. Par exemple, vous pouvez utiliser le script de post-déploiement pour ajouter des données de référence à une table de correspondance.Refactoriser le code et les données d'une base de données
Vous pouvez utiliser la refactorisation de base de données pour éliminer quelques tâches répétitives et sujettes aux erreurs, telles que le changement de nom de toutes les références d'un objet, la qualification complète des noms, le développement des caractères génériques ou le déplacement d'un objet vers un schéma différent.Générer et déployer des bases de données dans un environnement de développement isolé
Après avoir modifié des objets dans votre projet, vous générez et déployez les modifications vers votre environnement de développement isolé.Analyse du code de base de données pour en améliorer la qualité
Vous pouvez analyser votre code de base de données pour rechercher et corriger les problèmes courants de conception, d'affectation de nom et de performance.Modification des scripts et des objets de base de données avec l'Éditeur Transact-SQL (site Web Microsoft)
Vous pouvez utiliser l'éditeur Transact-SQL pour modifier des scripts et des définitions d'objet de base de données.
Voir aussi
Concepts
Générer et déployer des bases de données dans un environnement de pré-production ou de production
Générer et déployer des bases de données dans un environnement de développement isolé
Renommer toutes les références à un objet de base de données