Partager via


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.

  • Définitions d'objet

  • Objets dans l'Explorateur de solutions et dans la Vue Schéma

  • Résolution de noms d'objets

  • Référence au nom de base de données dans des définitions d'objets

  • Options SET de niveau objet

  • Validation d'objet

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 :

  • Vous pouvez importer des objets à partir d'un script ou à partir d'une base de données ou d'un serveur mis à jour.

  • Vous pouvez créer des objets dans le schéma par défaut ou dans un schéma spécifique.

  • Vous pouvez ajouter des fichiers qui contiennent des définitions d'objet pour votre projet.

  • Vous pouvez personnaliser les options de niveau objet (appelées options SET) après l'ajout des objets à votre projet.

  • Vous pouvez spécifier des autorisations pour vos objets de base de données.

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.

  • Vous pouvez définir des options de table et d'index.

  • Vous pouvez ajouter un utilisateur à un rôle.

  • Vous pouvez définir des catalogues de texte intégral.

  • Vous pouvez définir des groupes de fichiers et des fichiers.

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

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

Écriture et modification du code d'une base de données