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 ServerQue 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).
Autres entrées pour ce moteur
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings (échec d'INSERT/UPDATE : les options SET suivantes sont mal réglées)
- 468Cannot resolve the collation conflict
- 4864Bulk load data conversion error (type mismatch or invalid character) (erreur de conversion lors du chargement en masse : type incompatible ou caractère invalide)