101 votes

Erreur mssql '5 (L'accès est refusé.)' lors de la restauration de la base de données

Je veux restaurer une base de données à partir d'un fichier (Tâches Restaurer Base de données; après avoir sélectionné à partir du périphérique et sélectionné le fichier) via SQL Server Management Studio.

Après cela, je reçois cette erreur:

Le système d'exploitation a renvoyé l'erreur '5 (L'accès est refusé.)' lors de la tentative 'RestoreContainer::ValidateTargetForCreation' sur 'E:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\XXXXXX.mdf'. Msg 3156, Niveau 16, État 8, Serveur XXXX, Ligne 2

Comment puis-je résoudre ce problème? Est-ce une erreur de sécurité?

1voto

cheriejw Points 99

Il existe plusieurs causes à cette erreur, j'ai obtenu cette erreur parce que j'ai coché "Réallouer tous les fichiers dans un dossier" dans l'onglet Fichiers de la fenêtre Restaurer base de données mais le chemin par défaut n'existait pas sur ma machine locale. J'avais les fichiers ldf/mdf dans un autre dossier, une fois que j'ai changé cela j'ai pu restaurer.

0voto

Tom Stickel Points 4201

J'ai trouvé ceci, et cela a fonctionné pour moi:

CRÉER UNE CONNEXION BackupRestoreAdmin AVEC LE MOT DE PASSE='$tr0ngP@$$w0rd'
GO
CRÉER UN UTILISATEUR BackupRestoreAdmin POUR LA CONNEXION BackupRestoreAdmin
GO
EXEC sp_addsrvrolemember 'BackupRestoreAdmin', 'dbcreator'
GO
EXEC sp_addrolemember 'db_owner','BackupRestoreAdmin'
GO

0voto

Govs Points 412

Dans mon cas, j'ai dû cocher la case dans Écraser la base de données existante (AVEC REMPLACEMENT) sous l'onglet Options sur la page Restaurer la base de données.

La raison pour laquelle j'obtenais cette erreur : il y avait déjà un fichier MDF présent pour la base de données et il n'était pas écrasé.

J'espère que cela aidera quelqu'un.

0voto

jgo Points 372

Si vous attachez une base de données, jetez un œil à la grille "Bases de données à attacher", et spécifiquement dans la colonne du Propriétaire après avoir spécifié votre fichier .mdf. Notez le compte et donnez-lui des autorisations complètes à la fois pour les fichiers mdf et ldf.

0voto

user1465073 Points 319

Ceci m'est arrivé plus tôt aujourd'hui, j'étais membre du groupe d'administrateurs du serveur local et j'avais un accès sans entrave, du moins je le pensais. J'ai également coché l'option "remplacer", même s'il n'y a pas de base de données de ce type dans l'instance.

J'ai découvert qu'il y avait déjà une base de données du même nom là-bas, et que les fichiers MDF et LDF sont toujours physiquement situés dans les dossiers de données et de journaux du serveur, mais les métadonnées réelles sont manquantes dans sys.databases. Le compte de service de SQL Server ne peut pas non plus écraser les fichiers existants. J'ai également découvert que le propriétaire des fichiers est "inconnu", j'ai donc dû changer la propriété des 2 fichiers pour qu'ils appartiennent désormais au groupe d'administrateurs du serveur local, puis les ai renommés.

Ensuite, enfin, cela a fonctionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X