Utilisation des identificateurs comme noms d'objet
Le nom complet d'un objet est composé de quatre identificateurs : le nom du serveur, le nom de la base de données, le nom du schéma et le nom de l'objet. Ils apparaissent dans le format suivant :
nom_serveur**.[nom_base_de_données].[nom_schéma].**nom_objet
| nom_base_de_données**.[nom_schéma].**nom_objet
| nom_schéma**.**nom_objet
| nom_objet
Les noms du serveur, de la base de données et du propriétaire sont appelés les qualificatifs du nom de l'objet. Lorsque vous faites référence à un objet, il n'est pas nécessaire de préciser le serveur, la base de données et le propriétaire. Les qualificatifs peuvent être omis en marquant leurs positions par un point. Les formes valides des noms d'objet sont les suivantes :
nom_serveur**.nom_base_de_données.nom_schéma.**nom_objet
nom_serveur**.nom_base_de_données..**nom_objet
nom_serveur**..nom_schéma.**nom_objet
nom_serveur**...**nom_objet
nom_base_de_données**.nom_schéma.**nom_objet
nom_base_de_données**..**nom_objet
nom_schéma**.**nom_objet
nom_objet
Un nom d'objet spécifiant les quatre parties est appelé nom complet. Chaque objet créé dans MicrosoftSQL Server doit avoir un nom complet unique. Une même base de données peut ainsi contenir deux tables appelées xyz pour autant que celles-ci appartiennent à des propriétaires différents.
La plupart des références à des objets ont des noms en trois parties. Le nom_serveur par défaut est le serveur local. Le nom_base_de_données par défaut est la base de données active de la connexion. Le nom_schéma par défaut est le schéma par défaut de l'utilisateur soumettant l'instruction. Sauf s'il est configuré autrement, le schéma par défaut des nouveaux utilisateurs est le schéma dbo.
Les noms en quatre parties sont généralement utilisés pour les requêtes distribuées ou les appels de procédures stockées à distance. Ils utilisent le format suivant :
- serveurlié**.catalogue.schéma.**nom_objet
Le tableau suivant montre les noms des éléments et leur description.
Nom de l'élément |
Description |
---|---|
serveurlié |
Nom du serveur lié qui contient l'objet référencé par la requête distribuée |
catalogue |
Nom du catalogue qui contient l'objet référencé par la requête distribuée Lors d'une requête réalisée sur une base de données SQL Server, le catalogue est le nom de la base de données. |
schéma |
Nom du schéma qui contient l'objet référencé par la requête distribuée |
nom_objet |
Nom de l'objet ou de la table |
Dans le cas des requêtes distribuées, l'élément serveur d'un nom en quatre parties fait référence à un serveur lié. Un serveur lié est un nom de serveur défini avec sp_addlinkedserver. Le serveur lié identifie un fournisseur OLE DB et une source de données OLE DB qui peut retourner un ensemble d'enregistrements que MicrosoftSQL Server peut utiliser comme partie d'une instruction Transact-SQL.
Pour déterminer les composants de la source de données OLE DB utilisés pour les éléments catalogue et schéma du nom, consultez la documentation du fournisseur OLE DB spécifié pour le serveur lié. Si le serveur lié exécute une instance de SQL Server, le nom du catalogue est la base de données qui contient l'objet, et le schéma est le propriétaire de l'objet. Pour plus d'informations sur les noms en quatre parties et les requêtes distribuées, consultez Requêtes distribuées.
Dans le cas des appels de procédure distante, l'élément serveur d'un nom en quatre parties fait référence à un serveur distant. Un serveur distant, spécifié avec sp_addserver, est une instance de SQL Server accessible via le serveur local. Exécutez des procédures stockées sur le serveur distant en utilisant la syntaxe suivante pour le nom de la procédure :
- serveur**.base_de_données.nom_schéma.**procédure
Les quatre parties du nom doivent être précisées lors de l'utilisation d'une procédure stockée distante. Pour plus d'informations sur les serveurs distants, consultez Configuration des serveurs distants.
Référencement des colonnes à l'aide d'identificateurs
Les noms de colonnes doivent être uniques à l'intérieur d'une table ou d'une vue. Vous pouvez utiliser jusqu'à trois préfixes pour spécifier des colonnes dans une requête impliquant plusieurs tables dont les colonnes sont susceptibles de porter le même nom. Chacun des formats suivants est valide :
nom_base_de_données**.nom_schéma.nom_objet.**nom_colonne
nom_base_de_données**..**nom_objet.nom_colonne
nom_schéma.nom_objet**.**nom_colonne
nom_objet**.**nom_colonne
Référencement des propriétés des colonnes d'un type défini par l'utilisateur
Les propriétés des colonnes de type défini par l'utilisateur sont référencées à l'aide du point de séparation (.), placé entre le nom de la colonne et le nom de la propriété. Lorsque vous référencez des noms de propriété, vous pouvez également référencer les identificateurs de table ou de vue, mais pas les identificateurs de base de données ou de schéma. Les formats suivants sont valides :
nom_colonne**.nom_propriété1.**nom_propriété2[…]
nom_objet**.nom_colonne.nom_propriété1.**nom_propriété2[…]