916: The server principal is not able to access the database under the current security context
SQL ServerЧто это значит?
Имя входа попыталось обратиться к определённой базе данных, но не имеет к ней доступа в текущем контексте безопасности. Имя входа может подключиться к серверу, но не имеет соответствующего пользователя/разрешения в целевой базе данных.
Почему возникает?
У имени входа нет сопоставленного пользователя в базе данных (потерянный или так и не созданный), доступ к базе данных ограничен или учётная запись guest отключена. Частый случай — обозреватель объектов SSMS пытается прочитать метаданные базы данных, к которой у имени входа нет доступа.
Как исправить
Создайте пользователя для имени входа в целевой базе данных и выдайте необходимые разрешения: USE [db]; CREATE USER [login] FOR LOGIN [login]; и назначьте подходящие роли/разрешения. Если существует потерянный пользователь, сопоставьте его с помощью ALTER USER ... WITH LOGIN = ... Если доступ действительно нужен, добавьте его в подходящую роль базы данных; если нет, ошибка — ожидаемое поведение (нет доступа к этой базе данных).