MSSQLSERVER_916
S’applique à : SQL Server
Détails
Attribut | Valeur |
---|---|
Nom du produit | SQL Server |
ID de l’événement | 916 |
Source de l’événement | MSSQLSERVER |
Composant | SQLEngine |
Nom symbolique | NOTUSER |
Texte du message | Le principal du serveur « %.*ls » n’est pas en mesure d’accéder à la base de données « %.*ls » dans le contexte de sécurité actuel. |
Explication
La connexion n'a pas les autorisations suffisantes pour se connecter à la base de données nommée. Les connexions qui peuvent se connecter à cette instance de SQL Server, mais qui n’ont pas d’autorisations spécifiques dans une base de données reçoivent les autorisations de l’utilisateur invité. Il s'agit d'une mesure de sécurité pour empêcher les utilisateurs d'une base de données de se connecter à d'autres bases de données où ils n'ont pas de privilèges. Ce message d'erreur peut se produire lorsque l'utilisateur invité n'a pas l'autorisation CONNECT à la base de données nommée et la propriété TRUSTWORTHY n'est pas définie. Ce message d'erreur peut se produire lorsque l'utilisateur invité n'a pas l'autorisation CONNECT à la base de données nommée.
Lorsque l’autorisation CONNECT à la base de données msdb est refusée ou révoquée, SQL Server Management Studio peut recevoir cette erreur lorsque l’Explorateur d’objets tente d’afficher l’état de gestion basée sur des stratégies de chaque base de données. L’Explorateur d’objets utilise les autorisations de la connexion actuelle pour interroger la base de données msdb afin d’obtenir ces informations, ce qui provoque l’erreur. Le message d'erreur suivant est également généré :
Échec de la récupération de données pour cette demande. (Microsoft.SqlServer.Management.Sdk.Sfc)
Action de l’utilisateur
Avertissement
Avant de contourner cette mesure de sécurité vous devez avoir une vision claire des utilisateurs authentifiés dans diverses bases de données. Les méthodes suivantes peuvent autoriser les utilisateurs qui ont des autorisations dans une base de données à se connecter à d'autres bases de données qui pourraient exposer des données à un utilisateur malveillant. Lorsque des bases de données autonomes sont activées, les étapes suivantes peuvent permettre aux propriétaires de base de données d’une base de données d’accorder l’accès à d’autres bases de données sur l’instance de SQL Server.
Vous pouvez vous connecter à la base de données de l'une des manières suivantes :
Accordez l'accès de connexion spécifique à la base de données nommée. Dans l'exemple ci-dessous, la connexion
Adventure-Works\Larry
se voit accorder l'accès à la base de donnéesmsdb
.USE msdb ; GO GRANT CONNECT TO [Adventure-Works\Larry] ;
Accordez l'autorisation CONNECT à la base de données nommée dans le message d'erreur pour l'utilisateur invité. Dans l'exemple ci-dessous, l'autorisation
CONNECT
sur la base de donnéesmsdb
est accordée à l'utilisateurguest
.USE msdb ; GO GRANT CONNECT TO guest ;
Activez la propriété TRUSTWORTHY sur la base de données qui a authentifié l'utilisateur.
ALTER DATABASE AdventureWorks SET TRUSTWORTHY ON;