15151: Cannot find the object/principal because it does not exist or you do not have permission (o objeto/principal não foi encontrado porque não existe ou você não tem permissão)
SQL ServerO que significa?
O objeto ou principal de segurança (usuário, role, login) referenciado não existe ou você não tem permissão para acessá-lo/agir sobre ele. Por motivos de segurança, o SQL Server combina os dois casos em uma única mensagem.
Por que acontece?
Usar um nome de usuário, role, schema ou objeto inexistente em um comando como GRANT/ALTER/DROP; executar no contexto de banco errado (o objeto está em outro banco); ou não ter o privilégio para a operação. Erros de digitação, maiúsculas/minúsculas e prefixos de schema são causas frequentes.
Como resolver
Verifique se o nome do objeto/principal está escrito corretamente e se você está no banco certo. Para usuários: SELECT name, type_desc FROM sys.database_principals; para objetos, consulte sys.objects. Garanta que a conta em execução tenha as permissões necessárias (por exemplo, ALTER ANY USER, CONTROL). Use o prefixo de schema correto (como dbo.object).
Mais entradas deste banco
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement (a transação snapshot falhou porque um comando DDL modificou o objeto)
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths (a constraint FOREIGN KEY pode causar ciclos ou vários caminhos em cascata)
- 9421XML parsing: illegal xml character
- 4834You do not have permission to use the bulk load statement (você não tem permissão para usar o comando de carga em massa)
- 10928Resource limit for the database has been reached (Azure SQL) (o limite de recursos do banco foi atingido)
- 40544The database has reached its size quota (Azure SQL) (o banco atingiu sua cota de tamanho)
- 40613Database is not currently available (Azure SQL) (o banco não está disponível no momento)