MSSQLSERVER_208

新建日期: 2008 年 11 月 17 日

详细信息

产品名称

SQL Server

产品版本

9.0

产品内部版本号

9.00.1399.60

事件 ID

208

事件源

MSSQLSERVER

组件

SQLEngine

符号名称

消息正文

无效的对象名称 '%.*ls'。

解释

找不到指定的对象。

可能的原因

此错误可能是由以下问题之一导致的:

  • 未正确指定对象。
  • 当前的数据库或指定的数据库中不存在该对象。
  • 该对象存在,但无法向用户公开。例如,用户对于该对象可能不具有权限,或者该对象创建于 EXECUTE 语句内部,而用户却从 EXECUTE 语句的作用域外部访问它。

用户操作

验证下列信息,并根据需要更正语句:

  • 对象名的拼写正确。
  • 当前数据库的上下文正确。如果没有为该对象指定数据库名称,则当前数据库中必须存在该对象。有关设置数据库上下文的详细信息,请参阅 USE (Transact-SQL)
  • 系统表中是否存在该对象。若要验证是否存在表或其他架构范围的对象,请查询 sys.objects 目录视图。如果系统表中没有此对象,则表明此对象已删除或者用户没有查看该对象元数据的权限。有关对象元数据查看权限的详细信息,请参阅元数据可见性配置
  • 该对象是否包含在用户的默认架构中。如果不包含在默认架构中,则必须使用两部分格式 schema_name.object_name 来指定该对象。有关架构的详细信息,请参阅用户架构分离。请注意,必须始终使用至少由两部分组成的名称来调用标量值函数。
  • 数据库排序规则是否区分大小写。
    当数据库使用区分大小写的排序规则时,对象名的大小写必须与数据库中对象的大小写一致。例如,如果用区分大小写的排序规则将某个对象指定为 MyTable,那么,以 mytableMytable 形式引用该对象的查询将因对象名不匹配而导致返回错误 208。
    您可以通过运行下面的语句来检验数据库排序规则。
    SELECT collation_name FROM sys.databases WHERE name = 'database_name';
    排序规则名称中的缩写 CS 表示排序规则是区分大小写的。例如,Latin1_General_CS_AS 是一个区分大小写和重音符号的排序规则。CI 指示排序规则不区分大小写。
  • 用户是否有权访问该对象。若要验证用户是否有权访问该对象,请使用 Has_Perms_By_Name 系统函数。

请参阅

其他资源

USE (Transact-SQL)
用户架构分离
元数据可见性配置
Has_Perms_By_Name (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助