J'ai un problème en ce qui concerne l'utilisation de SQL Server 2008 R2.
J'ai récemment eu un problème avec mon ordinateur et je devais donc redémarrer Windows et accorder l'autorisation d'un utilisateur à un autre utilisateur (à l'aide de la fonctionnalité de sécurité dans les propriétés). Lorsque vous donnez l’autorisation au départ, le message "Accès refusé" apparaît.
Après de nombreuses recherches, il a cessé de générer cette erreur (l'utilisateur pour lequel je devais accorder une autorisation n'était pas disponible non plus), ce qui a ensuite provoqué un autre problème, mais cette fois dans SQL Server. Il produit ce message.
La base de données [nom_base] n'est pas accessible. (ObjectExplorer)
Cette erreur se produit lorsque j'essaie de sélectionner l'option de liste déroulante pour afficher la liste des tables et des procédures stockées de la base de données dans SQL Server. J'ai trouvé une explication à ce sujet sur le lien suivant;
Et j'ai ensuite essayé de mettre en œuvre comme tel;
USE msdb;
GO
GRANT CONNECT TO [DBName\MyName] ;
CREATE DATABASE [DBNAME] ON PRIMARY
À l’aide d’un script que j’ai créé (heureusement avant que ce problème ne se pose), il passe à travers beaucoup de messages;
Msg 15151, niveau 16, état 1, ligne 1
Impossible de trouver l'utilisateur 'DBName\MyName', car il n'existe pas ou vous n'avez pas l'autorisation.
Msg 262, Niveau 14, Etat 1, Ligne 2
Autorisation CREATE DATABASE refusée dans la base de données 'maître'.
Msg 5011, niveau 14, état 9, ligne 1
L'utilisateur n'a pas l'autorisation de modifier la base de données 'DBName', la base de données n'existe pas ou la base de données n'est pas dans un état autorisant les contrôles d'accès.
Msg 5069, niveau 16, état 1, ligne 1 ...
Après toutes ces erreurs, je me suis laissé décontenancer et je serais donc très reconnaissant si quelqu'un pouvait me donner des informations sur ce que je pouvais faire pour résoudre ce problème. À votre santé.
En règle générale, il est déconseillé d'accorder des autorisations directement aux connexions. Vous devez créer des objets de rôle dans la base de données, et toutes les autorisations de la base de données doivent être attribuées aux rôles.
Ensuite, lors du déplacement de la base de données vers un autre ordinateur (ou de la réinstallation), vous ne devez modifier que les informations de connexion au serveur et les attributions de rôles.
Un problème possible est que vous avez deux instances de la base de données. Vous devez donc désactiver une instance. Si votre base de données est ouverte et accessible dans votre serveur Explorer en Visual studio
, fermez la connexion, accédez aux services Windows, arrêtez et redémarrez SQL server service (MSSQL)
, puis rendez-vous à Management studio
et ouvrez votre base de données, elle devrait être ouverte et vous pouvez explorer les tables à partir de Management studio.
Il semble que la base de données à laquelle vous essayez d'accéder n'ait pas de privilège administrateur. Fermez SSMS et ouvrez-le par Exécuter en tant qu’administrateur.
Connectez-vous avec sa et développez Sécurité> Connexion, cliquez avec le bouton droit sur le nom d'utilisateur, puis sur les propriétés.