MSSQLSERVER_208

Данные

Название продукта

SQL Server

Версия продукта

10.0

Номер сборки продукта

Идентификатор события

208

Источник события

MSSQLSERVER

Компонент

SQLEngine

Символическое имя

SQ_BADOBJECT

Текст сообщения

Недопустимое имя объекта «%.*ls».

Пояснение

Не удается найти указанный объект.

Возможные причины

Возможны следующие причины этой ошибки.

  • Объект указан неверно.

  • Объект не существует в текущей базе данных или в указанной базе данных.

  • Объект существует, но пользователю не может быть предоставлен к нему доступ. Например, может оказаться так, что пользователь не имеет разрешений для доступа к объекту или объект создан в инструкции EXECUTE, но доступ к нему осуществляется вне области действия инструкции EXECUTE.

Действия пользователя

Проверьте следующую информацию и исправьте инструкцию соответствующим образом.

  • Имя объекта записано правильно.

  • Контекст текущей базы данных является правильным. Если не указано имя базы данных для объекта, то объект должен существовать в текущей базе данных. Дополнительные сведения об установке контекста базы данных см. в разделе USE (Transact-SQL).

  • Объект существует в системных таблицах. Чтобы проверить наличие таблицы или другого доступного в области схемы объекта, необходимо отправить запрос представления каталога sys.objects. Если объект отсутствует в системных таблицах, значит он был удален или у пользователя отсутствуют разрешения на просмотр метаданных объекта. Дополнительные сведения о просмотре метаданных объекта см. в разделе Настройка видимости метаданных.

  • Объект содержится в применяемой по умолчанию схеме пользователя. Если эти условия не соблюдаются, то имя объекта должно быть указано с использованием двухкомпонентного формата имя_схемы.имя_объекта. Дополнительные сведения о схемах см. в разделе Отделение пользователей от схем. Следует отметить, что скалярные функции должны всегда вызываться с использованием по меньшей мере двухкомпонентного имени.

  • Параметры сортировки базы данных, определяющие, учитывается ли регистр.

    Если в базе данных используются параметры сортировки с учетом регистра, то имя объекта должно согласовываться по регистру с именем объекта в базе данных. Например, если определенный объект указан в базе данных с параметрами сортировки с учетом регистра как MyTable, то попытка выполнить запросы, в которых этот объект именуется как mytable или Mytable, приведет к возврату ошибки 208, поскольку имена объектов не согласуются.

    Параметры сортировки базы данных можно проверить, введя следующую инструкцию.

    SELECT collation_name FROM sys.databases WHERE name = 'database_name';
    

    Аббревиатура CS в имени параметров сортировки указывает, что учитывается регистр символов. Например, значение Latin1_General_CS_AS определяет параметры сортировки с учетом регистра и с учетом диакритических знаков. Значение CI указывает, что в параметрах сортировки не учитывается регистр.

  • Пользователь имеет разрешение на получение доступа к объекту. Чтобы проверить, какие разрешения имеет пользователь для доступа к объекту, можно воспользоваться системной функцией Has_Perms_By_Name.