DBAtlas · Atlas de operaciones de bases de datos

916: The server principal is not able to access the database under the current security context (el principal de servidor no puede acceder a la base de datos en el contexto de seguridad actual)

SQL Server

¿Qué significa?

Un login intentó acceder a una base de datos concreta, pero no tiene acceso a ella en el contexto de seguridad actual. El login puede conectarse al servidor, pero no tiene un usuario/permiso correspondiente en la base de datos de destino.

¿Por qué ocurre?

El login no tiene un usuario asignado en la base de datos (huérfano o nunca creado), el acceso a la base de datos está restringido o la cuenta guest está deshabilitada. Un caso habitual es el Object Explorer de SSMS intentando leer metadatos de una base de datos a la que el login no tiene acceso.

Cómo solucionarlo

Cree un usuario para el login en la base de datos de destino y conceda los permisos necesarios: USE [db]; CREATE USER [login] FOR LOGIN [login]; y asigne los roles/permisos adecuados. Si existe un usuario huérfano, asígnelo con ALTER USER ... WITH LOGIN = ... Si el acceso es realmente necesario, añádalo al rol de base de datos adecuado; si no, el error es el comportamiento esperado (sin acceso a esa base de datos).

Abrir en DBAtlas →

Más entradas de este motor