Restauration SQL Server Erreur Accès Refusé
J'ai créé une base de données sur mon ordinateur local, puis fait une sauvegarde appelé tables.bak
de table DataLabTables
.
J'ai déménagé de la sauvegarde d'une machine distante sans que la table et a essayé de faire une restauration mais obtiens l'erreur suivante:
Système.Les données.SqlClient.La fonction SqlError: Le système d'exploitation renvoyé l'
erreur '5(Accès refusé.)' lors de la tentative
'RestoreContainer::ValidateTargetForCreation' sur 'c:\Program
Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables.mdf'.
Comment puis-je résoudre mes droits, si tel est le problème?
Vous devez vous connecter pour publier un commentaire.
Je viens d'avoir ce problème avec SQL Server 2012.
Il s'avère que tout ce que j'avais à faire était de cocher la case "Déplacer tous les fichiers dans le dossier "sur les" Fichiers " de la section:
(Cliquez pour voir l'image en pleine taille)
Bien sûr, cela suppose que vous avez la bonne version de SQL Server est installé.
DATA
ou elle a essayé de le mettre dans leMSSQL
dossier à la place.Le message d'erreur, il dit qu'il y a une erreur lors de la validation de la cible (
c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables.mdf
) de votre opération de restauration.Qui sonne comme:
a) que le fichier existe déjà (parce que vous avez déjà restauré précédemment) et est utilisé par SQL Server
ou
b) que le répertoire n'existe pas, tous les
Dans votre question, vous avez mentionné que vous avez créé une sauvegarde de la table - ce n'est pas la façon dont SQL Server sauvegardes. Ces sauvegardes sont toujours la base de données entière (ou au moins un ou plusieurs groupes de fichiers de la base de données).
Mon intuition est la suivante: vous avez déjà restauré la base de données précédemment, et maintenant, après une deuxième restauration, vous n'avez pas à cocher la case "Remplacer la base de données existante" dans votre assistant de restauration - le fichier ne peut pas être remplacée et la restauration échoue.
L'utilisateur qui exécute la restauration sur votre serveur distant n'a évidemment pas accès à ce répertoire sur le serveur distant.
C:\program files\....
est un répertoire protégé - normal (non-administrateur), les utilisateurs n'ont pas accès à ce répertoire (et ses sous-répertoires).La plus simple solution: essayez de mettre votre BAK fichier quelque part d'autre (par exemple,
C:\temp
) et de le restaurer à partir de làRESTORE
commande échoue si le fichier existe, même si c' n'est pas, à utiliser par SQL Server (par exemple, le MDF/fichiers LDF rester en place après une précédente détacher). Je suis tombé sur ceci dans un personnalisé T-SQL envoi de journaux de mise en œuvre pour une importante migration de centaines de DBs au cours des deux dernières semaines. Je ne suis pas sûr que le message d'erreur "accès refusé" aurait pu être quelque chose de moins précis.J'ai eu le même problème. Il s'est avéré que mon
SQL Server
etSQL Server Agent
serviceslogon as
étaient en cours d'exécution en vertu de laNetwork Services
compte qui n'ont pas accès en écriture à effectuer une restauration de la sauvegarde.J'ai changé à la fois de ces services à l'ouverture de session en tant
Local System Account
et le problème est résolu.Récemment, j'ai été confronté à ce problème avec SQL 2008 R2 et ci-dessous la solution a fonctionné pour moi:
1) Créer une nouvelle base de données avec le même nom que celui que vous essayez de restaurer
2) lors de la restauration, utiliser le même nom que celui utilisé ci-dessus et dans les options, cliquez sur l'option écraser
Vous pourriez donner l'au-dessus d'un coup si les autres solutions ne fonctionnent pas.
Source
J'ai eu un problème similaire. J'ai essayé de restaurer une 2005 .bak fichier, et j'ai reçu exactement le même message d'erreur. J'ai choisi l'option de remplacement ainsi en vain.
ma solution a été d'accorder l'utilisateur SQL accès à l'annuaire en question, en allant dans le dossier et de modification des droits d'accès par le biais de la propriété de l'écran.
perdu une couple d'heures à ce problème aussi. j'ai réussi si:
"accès refusé" dans mon cas, vraiment ne signifie pas "accès refusé". mssqlstudio du compte utilisateur sur mon appareil windows n'a PAS le contrôle total du dossier spécifié dans le message d'erreur. je lui ai donné le plein contrôle. l'accès n'était plus refusé et la restauration a réussi.
pourquoi le dossier verrouillé pour le studio ? qui sait ? j'ai eu assez de questions à traiter, comme il est, sans essayer de répondre à plus de.
J'ai eu ce problème, je me suis connecté en tant qu'administrateur et il a fixé le problème.
Un autre scénario pourrait être l'existence de plusieurs chemins de base de données. Tout d'abord, notez le chemin d'accès où de nouvelles bases de données sont actuellement entreposés. Donc, si vous créez une nouvelle base de données vide et ensuite faire
Tasks/Restore
, assurez-vous que le chemin d'accès de la restauration est d'essayer d'utiliser le même répertoire que la base de données vide a été créé en. Même si le chemin d'accès de restauration est légal, vous aurez toujours l'erreur accès refusé s'il n'est pas le chemin d'accès actuel vous travaillez avec. Très facile à repérer quand le chemin n'est pas juridique, beaucoup plus difficile à détecter lorsque le chemin est légal, mais pas le chemin d'accès actuel.Désolé parce que je ne peux pas commenter...
J'ai eu le même problème. Dans mon cas, le problème était lié au fait d'essayer de restaurer une vieille sql server dossier (qui existait sur le serveur). Cela est dû à la vieille sauvegarde de sql server (c'est à dire de SQL Server 2012 Sauvegarde) restaurée dans un nouveau serveur sql (SQL Server 2014). La vraie question n'est pas trop différent de @marc_s réponse. De toute façon, j'ai changé uniquement le dossier cible pour le nouveau dossier de DONNÉES SQL Server.
Cela peut ne pas être la meilleure solution, mais j'ai essayé de faire la restauration à SQL Server 2005, mais j'ai changé pour SQL Server 2008 et cela a fonctionné.
Avez des problème de ce genre. Erreur causée par des permis de compression sur SQL Server dossiers.
Frnds... j'ai eu le même problème lors de la restroring base de données et essayé toutes les solutions, mais pourrait nt être résolues. Ensuite, j'ai essayé d'installer SQL 2005 et le problème résolu. Actully dernière fois j'ai oublié de vérifier sur l'option personnaliser tout instlling SQL.. Il vient deux fois lors de l'installation et je checkd pour seulement..
Essayez ceci:
Dans la Restauration DB fenêtre de l'assistant, allez à l'onglet Fichiers, Décochez l'option "Déplacer Tous les fichiers dans le dossier" case à cocher, puis changer la destination de la restauration à partir de C: pour les uns, les autres en voiture. Ensuite, passez à la procédure de restauration. Il se restaurer avec succès.
J'ai eu le même problème, mais j'ai utilisé sql server 2008 r2, vous devez vérifier dans les options et vérifiez que les chemins d'accès où sql va enregistrer les fichiers .mdf et .ldf vous devez sélectionner le chemin d'accès de votre installation de sql server. J'ai résolu mon problème avec cela, j'espère que cela vous aide.
Dans mon cas j'ai eu à vérifier le chemin de Sauvegarde de la base de données de là où j'étais en train de restaurer. J'avais déjà restauré à partir d'un chemin d'accès différent lorsque je l'ai fait la première fois. J'ai corrigé le chemin de Sauvegarde à utiliser le chemin de sauvegarde, j'ai utilisé la première fois et cela a fonctionné!
Aller à C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ et cliquez sur autoriser l'accès lorsqu'une nouvelle fenêtre apparaît
Puis essayez de le déplacer vers un sous-dossier sous C:, mais de vérifier que l'utilisateur a tous les droits sur le dossier de votre utilisation.