MSSQLSERVER_208
Détails
Nom du produit |
SQL Server |
Version du produit |
10.0 |
Numéro de build du produit |
|
ID de l'événement |
208 |
Source de l'événement |
MSSQLSERVER |
Composant |
SQLEngine |
Nom symbolique |
SQ_BADOBJECT |
Texte du message |
Nom d'objet « %.*ls » non valide. |
Explication
L'objet spécifié est introuvable.
Causes possibles
Cette erreur peut être causée par l'un des problèmes suivants :
L'objet n'est pas correctement spécifié.
L'objet n'existe pas dans la base de données actuelle ou dans la base de données spécifiée.
L'objet existe, mais n'a pas pu être exposé à l'utilisateur. Par exemple, l'utilisateur n'a pas d'autorisations sur l'objet ou l'objet est créé dans une instruction EXECUTE, mais l'accès à cet objet s'effectue en dehors de la portée de l'instruction EXECUTE.
Action de l'utilisateur
Vérifiez les informations suivantes et corrigez l'instruction comme il convient.
Le nom de l'objet est correctement orthographié.
Le contexte de la base de données actuelle est correct. Si aucun nom de base de données n'est spécifié pour l'objet, celui-ci doit exister dans la base de données actuelle. Pour plus d'informations sur la définition du contexte de la base de données, consultez USE (Transact-SQL).
L'objet existe dans les tables système. Pour vérifier qu'une table ou un autre objet orienté schéma existe, interrogez l'affichage catalogue sys.objects. Si l'objet ne se trouve pas dans les tables système, cela signifie qu'il a été supprimé ou que l'utilisateur ne dispose pas d'autorisations pour afficher les métadonnées de l'objet. Pour plus d'informations sur les autorisations qui permettent d'afficher les métadonnées d'un objet, consultez Configuration de la visibilité des métadonnées.
L'objet est contenu dans le schéma par défaut de l'utilisateur. Si ce n'est pas le cas, l'objet doit être spécifié en respectant le format en deux parties nom_schéma.nom_objet. Pour plus d'informations sur les schémas, consultez Séparation du schéma et de l'utilisateur. Notez que les fonctions scalaires doivent toujours être appelées à l'aide, au moins, du nom en deux parties.
Respect de la casse du classement de base de données.
Lorsqu'une base de données utilise un classement respectant la casse, la casse du nom de l'objet doit être identique à celle qui est utilisée dans la base de données. Par exemple, lorsqu'un objet est spécifié en tant que MyTable dans une base de données avec classement respectant la casse, les requêtes qui font référence à l'objet en tant que mytable ou Mytable retournent l'erreur 208, car les noms de l'objet ne sont pas considérés comme étant identiques.
Vous pouvez vérifier le classement de base de données en exécutant l'instruction suivante :
SELECT collation_name FROM sys.databases WHERE name = 'database_name';
L'abréviation CS dans le nom du classement indique que celui-ci respecte la casse. Par exemple, Latin1_General_CS_AS indique un classement qui respecte la casse et les accents. CI indique un classement qui ne respecte pas la casse.
L'utilisateur a l'autorisation d'accéder à l'objet. Pour vérifier les autorisations de l'utilisateur sur l'objet, utilisez la fonction système Has_Perms_By_Name.