DBAtlas · Atlas de operaciones de bases de datos

15151: Cannot find the object/principal because it does not exist or you do not have permission (no se encuentra el objeto/principal porque no existe o no tiene permiso)

SQL Server

¿Qué significa?

El objeto o principal de seguridad (usuario, rol, login) que referenció no existe o usted no tiene permiso para acceder a él/actuar sobre él. Por motivos de seguridad, SQL Server combina ambos casos en un único mensaje.

¿Por qué ocurre?

Usar un nombre de usuario, rol, esquema u objeto inexistente en un comando como GRANT/ALTER/DROP; ejecutar en el contexto de base de datos equivocado (el objeto está en otra BD); o carecer del privilegio para la operación. Las erratas, las mayúsculas/minúsculas y los prefijos de esquema son causas frecuentes.

Cómo solucionarlo

Verifique que el nombre del objeto/principal esté bien escrito y que esté en la base de datos correcta. Para usuarios: SELECT name, type_desc FROM sys.database_principals; para objetos, consulte sys.objects. Asegúrese de que la cuenta que ejecuta tenga los permisos necesarios (p. ej., ALTER ANY USER, CONTROL). Use el prefijo de esquema correcto (como dbo.object).

Abrir en DBAtlas →

Más entradas de este motor