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,那么,以 mytable 或 Mytable 形式引用该对象的查询将因对象名不匹配而导致返回错误 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)