Partilhar via


MSSQLSERVER_208

Detalhes

Nome do produto

SQL Server

Versão do produto

10.50

Número da compilação do produto

 

ID do evento

208

Origem do evento

MSSQLSERVER

Componente

SQLEngine

Nome simbólico

SQ_BADOBJECT

Texto da mensagem

Nome de objeto '%.*ls' inválido.

Explicação

O objeto especificado não foi encontrado.

Causas possíveis

Esse erro pode ser causado por um dos seguintes problemas:

  • O objeto não foi especificado corretamente.

  • O objeto não existe no banco de dados atual ou no banco de dados especificado.

  • O objeto existe, mas não pôde ser exposto ao usuário. Por exemplo, o usuário pode não ter as permissões no objeto ou talvez o objeto foi criado em uma instrução EXECUTE, mas acessado fora dela.

Ação do usuário

Verifique as informações a seguir e corrija a instrução conforme apropriado.

  • O nome do objeto foi digitado corretamente.

  • O contexto do banco de dados atual está correto. Se um nome de banco de dados não for especificado para o objeto, este deverá existir no banco de dados atual. Para obter mais informações sobre como definir o contexto do banco de dados, consulte USE (Transact-SQL).

  • O objeto existe nas tabelas do sistema. Para verificar se uma tabela ou outro objeto no escopo do esquema existe, consulte a exibição do catálogo sys.objects. Se o objeto não estiver nas tabelas do sistema, isso indica que ele foi excluído ou que o usuário não tem permissão para exibir metadados do objeto. Para obter mais informações sobre permissões para exibir metadados de objeto, consulte Configuração de visibilidade de metadados.

  • O objeto está contido no esquema padrão do usuário. Se não estiver, ele deverá ser especificado no formato de duas partes nome_esquema.nome_objeto. Para obter mais informações sobre esquemas, consulte Separação do esquema de usuário. Observe que as funções com valor escalar sempre devem ser chamadas usando-se pelo menos um nome de duas partes.

  • A diferenciação de maiúsculas e minúsculas do agrupamento de banco de dados.

    Quando um banco de dados usa um agrupamento com diferenciação de maiúsculas e minúsculas, o nome do objeto deve corresponder ao uso de maiúsculas e minúsculas do objeto no banco de dados. Por exemplo, quando um objeto é especificado como MinhaTabela em um banco de dados que tem um agrupamento com diferenciação de maiúsculas e minúsculas, as consultas que fizerem referência ao objeto como minhatabela ou Minhatabela retornarão o erro 208, porque os nomes dos objetos não coincidem.

    Você pode verificar o agrupamento de banco de dados executando a instrução a seguir.

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

    A abreviação CS no nome do agrupamento indica que ele diferencia maiúsculas de minúsculas. Por exemplo, Latin1_General_CS_AS é um agrupamento que tem diferenciação de maiúsculas e minúsculas e também de acentos. CI indica um agrupamento sem diferenciação de maiúsculas e minúsculas.

  • O usuário tem permissão para acessar o objeto. Para verificar as permissões do usuário no objeto, use a função de sistema Has_Perms_By_Name.