MSSQLSERVER_208
Aplica-se a: SQL Server
Detalhes
Atributo | Valor |
---|---|
Nome do produto | SQL Server |
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 as 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 ele não estiver, o objeto deverá ser especificado no formato de duas partes schema_name.object_name. 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 da ordenação de banco de dados.
Quando um banco de dados usa uma ordenação 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 for especificado como MyTable em um banco de dados com uma ordenação com diferenciação de maiúsculas e minúsculas, as consultas que fizerem referência ao objeto como mytable ou Mytable retornarão o erro 208, pois os nomes dos objetos não são correspondentes.
Você pode verificar a ordenação 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 da ordenação indica que ela diferencia maiúsculas de minúsculas. Por exemplo, Latin1_General_CS_AS é uma ordenação que tem diferenciação de maiúsculas e minúsculas e também de acentos. CI indica uma ordenação 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.
Confira também
USE (Transact-SQL)
Configuração de visibilidade de metadados
HAS_PERMS_BY_NAME (Transact-SQL)