DBAtlas · Atlas d'exploitation des bases de données

916: The server principal is not able to access the database under the current security context (le principal serveur ne peut pas accéder à la base dans le contexte de sécurité actuel)

SQL Server

Que signifie cette erreur ?

Un login a tenté d'accéder à une base précise mais n'y a pas accès dans le contexte de sécurité actuel. Le login peut se connecter au serveur mais n'a pas d'utilisateur/de droit correspondant dans la base cible.

Cause

Le login n'a pas d'utilisateur mappé dans la base (orphelin ou jamais créé), l'accès à la base est restreint, ou le compte guest est désactivé. Un cas fréquent est l'Object Explorer de SSMS qui tente de lire les métadonnées d'une base à laquelle le login n'a pas accès.

Comment la corriger

Créez un utilisateur pour le login dans la base cible et accordez les droits nécessaires : USE [db]; CREATE USER [login] FOR LOGIN [login]; et attribuez les rôles/droits appropriés. S'il existe un utilisateur orphelin, mappez-le avec ALTER USER ... WITH LOGIN = ... Si l'accès est réellement nécessaire, ajoutez-le au rôle de base de données approprié ; sinon, l'erreur est le comportement attendu (pas d'accès à cette base).

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur