MSSQLSERVER_208

Detalles

Nombre del producto

SQL Server

Versión del producto

10.50

Número de compilación del producto

 

Identificador de evento

208

Origen del evento

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.

Posibles causas

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 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, consulte 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 acerca de los permisos para ver los metadatos del objeto, vea Configuración de visibilidad de los metadatos.

  • El objeto está contenido en el esquema predeterminado del usuario. Si no lo está, el objeto se debe especificar utilizando el formato de dos partes nombre_de_esquema.nombre_de_objeto. Para obtener más información acerca de los esquemas, vea Separación de esquemas de usuario. 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 el usuario tiene para el objeto, utilice la función del sistema Has_Perms_By_Name.