MSSQLSERVER_208

Se aplica a: SQL Server

Detalles

Attribute Valor
Nombre del producto SQL Server
Id. de evento 208
Origen de eventos MSSQLSERVER
Componente SQLEngine
Nombre simbólico SQ_BADOBJECT
Texto del mensaje El nombre de objeto '%.*ls' no es válido.

Explicación

No se encuentra el objeto especificado.

Causas posibles

Este error puede deberse a uno de los siguientes problemas:

  • No se ha especificado correctamente el objeto.

  • El objeto no existe en la base de datos actual o en la base de datos especificada.

  • El objeto existe, pero no ha podido mostrarse al usuario. Por ejemplo, puede que el usuario no tenga permisos para el objeto o que el objeto se haya creado dentro de una instrucción EXECUTE pero se tenga acceso a él fuera del ámbito de la citada instrucción.

Acción del usuario

Compruebe la información siguiente y corrija la instrucción según corresponda.

  • El nombre de objeto está escrito correctamente.

  • El contexto de base de datos actual es correcto. Si no se especifica un nombre de base de datos para el objeto, este debe existir en la base de datos actual. Para obtener más información sobre cómo establecer el contexto de la base de datos, vea USE (Transact-SQL).

  • El objeto existe en las tablas del sistema. Para comprobar si existe una tabla u otro objeto del ámbito de esquema, vea la vista de catálogo sys.objects. Si el objeto no está en las tablas del sistema, significa que se ha eliminado o que el usuario no tiene permisos para ver los metadatos del objeto. Para obtener más información sobre los permisos de visualización de los metadatos de objeto, vea Configuración de visibilidad de los metadatos.

  • El objeto está contenido en el esquema predeterminado del usuario. De lo contrario, el objeto se debe especificar usando el formato de dos partes schema_name.object_name. Observe que las funciones escalares siempre deben invocarse utilizando como mínimo un nombre de dos partes.

  • La distinción entre mayúsculas y minúsculas de la intercalación de bases de datos.

    Cuando una base de datos utiliza una intercalación con distinción entre mayúsculas y minúsculas, las mayúsculas y minúsculas del nombre de objeto deben coincidir con las del objeto en la base de datos. Por ejemplo, cuando un objeto se especifica como MyTable en una base de datos con una intercalación con distinción entre mayúsculas y minúsculas, las consultas que hagan referencia al objeto como mytable o Mytable harán que se devuelva el error 208 porque los nombres de objeto no coinciden.

    Puede comprobar la intercalación de bases de datos ejecutando la instrucción siguiente.

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

    La abreviatura CS en el nombre de la intercalación indica que esta distingue entre mayúsculas y minúsculas. Por ejemplo, Latin1_General_CS_AS es una intercalación con distinción entre mayúsculas y minúsculas, y con distinción de acentos. CI indica una intercalación sin distinción entre mayúsculas y minúsculas.

  • El usuario dispone de permiso para tener acceso al objeto. Para comprobar los permisos que tiene el usuario para el objeto, use la función del sistema Has_Perms_By_Name.

Consulte también

USE (Transact-SQL)
Configuración de visibilidad de los metadatos
HAS_PERMS_BY_NAME (Transact-SQL)