web-dev-qa-db-fra.com

Impossible d'ouvrir le périphérique de sauvegarde. Erreur du système d'exploitation 5

Ci-dessous se trouve la requête que j'utilise pour sauvegarder (créer un .bak) ma base de données. 

Cependant, chaque fois que je le lance, je reçois toujours ce message d'erreur:

Msg 3201, niveau 16, état 1, ligne 1
Impossible d'ouvrir le périphérique de sauvegarde 'C:\Users\Me\Desktop\Backup\MyDB.Bak'. Erreur du système d'exploitation 5 (l'accès est refusé.).

Msg 3013, Niveau 16, Etat 1, Ligne 1
BACKUP DATABASE se termine anormalement.

Ceci est ma requête:

BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';

Merci d'avance.

119
Smiley

Oui je viens de marquer celui-ci. 

Regardez dans les services Windows. Démarrer> Administration> Services

Recherchez le service dans la liste intitulée: SQL Server (MSSQLSERVER), recherchez la colonne "Ouvrir une session en tant que" (vous devez l'ajouter s'il n'existe pas dans la liste).

C’est le compte dont vous avez besoin pour accorder des autorisations sur le répertoire. Cliquez avec le bouton droit de la souris sur Explorer> Propriétés> Partages (et sécurité).

NOTE: N'oubliez pas de donner des autorisations sur le répertoire réel ET sur le partage si vous passez sur le réseau.

Appliquez et attendez que les autorisations se propagent, essayez à nouveau la sauvegarde.

NOTE 2 : Si vous sauvegardez sur le réseau et que votre code SQL s'exécute en tant que "Service local", vous avez un problème ... vous pouvez essayer d'attribuer des autorisations ou il peut être plus facile de sauvegarder en local et xcopy de l'extérieur de SQL Server (une heure plus tard).

NOTE 3 : Si vous utilisez un service réseau, la machine distante ne reconnaîtra PAS, PARFOIS, le service réseau sur votre serveur SQL. Si tel est le cas, vous devez ajouter des autorisations pour l'ordinateur lui-même, par exemple. MyServer $. 

204
Robin Vessey

Accédez au dossier du serveur SQL dans le menu Démarrer, puis cliquez sur Outils de configurationSélectionnez le gestionnaire de configuration SQL Server Sur les services de serveur SQL, sur l'instance souhaitée, remplacez (Log On en tant que) par le système local

9
Abuleen

Le compte de service SQL Server ne dispose pas des autorisations nécessaires pour écrire dans le dossier C:\Users\Kimpoy\Desktop\Backup\

7
Martin Smith

J'ai eu ce problème récemment aussi, cependant j'exécutais le travail de sauvegarde à partir du serveur A mais la base de données en cours de sauvegarde se trouvait sur le serveur B vers un partage de fichiers sur le serveur C. Lorsque l'agent sur le serveur A ordonne au serveur B d'exécuter une sauvegarde La commande -sql, c’est le compte de service sous lequel SQL est exécuté sur le serveur B qui tente d’écrire la sauvegarde sur le serveur c.

Rappelez-vous simplement que c’est le compte de service du serveur SQL qui exécute la commande BACKUP DATABASE elle-même qui a besoin de privilèges sur le système de fichiers, et non de l’agent.

6
Jason

Je passais juste par moi-même. Je m'étais assuré que mon utilisateur de connexion MSSQLSERVER avait full access mais cela posait toujours des problèmes. Cela n'a fonctionné qu'une fois que j'ai déplacé la destination à la racine de C. Plus important encore, dans un dossier utilisateur (même si j'avais un partage avec des autorisations complètes - même si j'ai essayé "Tout le monde" comme test).

Je ne sais pas si je considère que mon problème est "résolu", mais il "fonctionne".

Juste un FYI pour tous les autres utilisateurs qui rencontrent ce fil.

4
DNK

Je suis confronté au même problème avec SQL Express 2014 SP1 sous Windows 10.

Solution qui fonctionne 

  1. Open Service en tapant Services
  2. Recherchez et ouvrez le serveur SQL (SQLExpress)
  3. Aller à l'onglet LogOn 
  4. Choisissez un compte système local (cochez également la case Autoriser les services à interagir avec le bureau)
  5. Cliquez sur OK . Arrêtez le service. Redémarrez le service. 
  6. Problème résolu
3
Sawarkar vikas

Pour savoir quel utilisateur vous devez autoriser à effectuer le processus de restauration, procédez comme suit:

Vous devez accéder à votre serveur sur lequel SQL Server est installé. Rechercher Gestionnaire de configuration SQL Server

 enter image description here

Ensuite, vous devez aller à "Services SQL Server"

 enter image description here

Sous votre instance SQL Server (MSSQLSERVER), vous aurez un compte avec la colonne "Connexion en tant que", dans mon cas, il s'agit de NT Service\MSSQLSERVER.

C’est le compte que vous devez ajouter sous l’onglet Sécurité de votre emplacement .bak source et donnez à cet utilisateur les autorisations "Lire" afin que le fichier de sauvegarde puisse être lu.

Supposons que votre fichier de sauvegarde se trouve dans le dossier "D:\Shared". Vous devez ensuite donner les autorisations suivantes:

 enter image description here

3
Raghav

J'ai eu un problème similaire. J'ai ajouté des autorisations d'écriture au fichier .bak lui-même et au dossier dans lequel j'écrivais la sauvegarde pour l'utilisateur NETWORK SERVICE. Pour ajouter des autorisations, cliquez avec le bouton droit de la souris sur le fichier/répertoire que vous souhaitez modifier, sélectionnez l'onglet Sécurité et ajoutez les utilisateurs/autorisations appropriés à cet emplacement.

2
Eric Bernier

Voici ce que j'ai fait pour contourner le problème.

1) Aller à la sauvegarde

2) Supprimer le chemin du fichier de destination sur le disque

3) Cliquez sur Ajouter

4) Dans la case à cocher Nom de fichier: saisissez manuellement le nom de la sauvegarde après ..\backup comme ci-dessous où Yourdb.bak est le nom de la sauvegarde de la base

C:\Programmes\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\Yourdb.bak

5) Cliquez sur OK

J'espère que cela t'aides!

2
dpen82
1
Jacques Kammeyer

Je sais que ce n'est pas une solution exacte, mais l'utilisation de chemins d'accès externes résout ce problème.

BACKUP DATABASE AcinsoftDB
TO DISK = 'E:\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
1
Cem Mutlu

Bonjour, vous devez changer la requête de: 

BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'

à 

BACKUP DATABASE AcinsoftDB
TO DISK = N'C:\Users\Me\Desktop\Backup\MyDB.Bak'

Vous devez ajouter un N devant le chemin qui fonctionne pour moi.

Partagez ce dossier et utilisez le chemin UNC, par exemple:\pc\backups\mydb.bak

Ensuite, vous pouvez arrêter de partager.

Pas très élégant, mais cela résout tous les problèmes d'autorisations (vous devez donner des autorisations à partager, comme mentionné ci-dessus)

0
Gennady G

Veuillez vérifier l’accès aux lecteurs. Tout d’abord, créez un dossier et accédez aux propriétés du dossier,

Vous pouvez trouver l'onglet de sécurité, cliquez dessus pour vérifier si votre identifiant d'utilisateur ayant l'accès ou non.

si vous ne trouvez pas votre identifiant, veuillez cliquer sur le bouton Ajouter et donner un nom d'utilisateur avec un accès complet.

0
user2703575

Ceci s’explique par le fait que vous exécutez votre service MSSQLSERVER sans utiliser de système local. Pour résoudre ce problème, procédez comme suit.

  1. Open run sous Windows + R
  2. Tapez services.msc et une boîte de dialogue de services s'ouvrira.
  3. Rechercher SQL Server (MSSQLSERVER)
  4. Faites un clic droit et cliquez sur les propriétés.
  5. Aller à l'onglet Connexion
  6. Sélectionnez le compte système local et cliquez sur "Appliquer" et "OK"
  7. Cliquez sur le lien Arrêter dans le panneau de gauche en sélectionnant "SQL Server (MSSQLSERVER)" et redémarrez-le une fois complètement arrêté.
  8. Profitez de votre sauvegarde.

J'espère que cela vous aidera bien, comme cela m’a été fait. À votre santé!

0
Gaurav Amatya

SQL Server ne peut pas accéder (écrire) à la sauvegarde dans l'emplacement spécifié.

Vous devez d’abord vérifier le compte de service sur lequel le serveur SQL est exécuté. Cela peut être fait en utilisant Gestionnaire de configuration ou Services.msc.

ou

Utilisez la requête ci-dessous:

SELECT  DSS.servicename,
    DSS.startup_type_desc,
    DSS.status_desc,
    DSS.last_startup_time,
    DSS.service_account,
    DSS.is_clustered,
    DSS.cluster_nodename,
    DSS.filename,
    DSS.startup_type,
    DSS.status,
    DSS.process_id FROM    sys.dm_server_services AS DSS;

Regardez maintenant la colonne service_account et notez-la.

Accédez à l'emplacement où vous essayez d'effectuer la sauvegarde. Dans votre cas: C:\Users\Me\Desktop\Backup

Clic droit -> Propriétés -> Sécurité ->

Ajoutez le compte de service et fournissez des autorisations de lecture/écriture. Cela résoudra le problème.

0
Ramakant Dadhichi

Msg 3201, Niveau 16, État 1, Ligne 1 Impossible d'ouvrir le périphérique de sauvegarde 'C:\Backup\Adventure_20120720_1024AM.trn'. Erreur de système d'exploitation 5 (accès refusé.) ..___ Msg 3013, niveau 16, état 1, ligne 1 BACKUP LOG se termine anormalement.

J'ai vérifié le dossier de sauvegarde sur le lecteur C, le nouveau compte de service dispose-t-il d'une autorisation de contrôle total ou non?, J'ai réalisé que le compte de service "Test\Kiran" ne disposait pas d'une autorisation de sécurité Contrôle total.

Veuillez suivre les étapes ci-dessous pour donner le contrôle total au compte de service:

  1. Allez au lecteur C, faites un clic droit sur le dossier de sauvegarde. 
  2. Sélectionnez l'onglet Sécurité. 
  3. Cliquez sur le bouton Modifier, une nouvelle fenêtre s'ouvrira. 
  4. Cliquez sur le bouton Ajouter et entrez le compte d'utilisateur Test\Kiran, puis cliquez sur le bouton Vérifier le nom. Cela validera si l'utilisateur que vous avez entré existe ou non. S'il existe, il affichera l'utilisateur dans la fenêtre, sélectionnez OK.
  5. Sélectionnez votre nom d'utilisateur et cochez la case Contrôle total sous Autoriser.
0
user2459051

J'ai rencontré ce problème lorsque le fichier .BAK était temporairement stocké dans un dossier chiffré avec BitLocker. Le cryptage a été conservé après son déplacement dans un autre dossier.

Le compte NETWORK SERVICE n'a pas pu déchiffrer le fichier et a transmis ce message d'erreur très informatif.

La suppression du chiffrement BitLocker (en décochant "Crypter le contenu pour sécuriser les données" dans les propriétés du fichier) sur le fichier .BAK a résolu le problème.

0
Eric J.

J'ai la même erreur. Les changements qui ont suivi m'ont aidé à résoudre ce problème.

Je devais vérifier Gestionnaire de serveur-> Outils-> Services et trouver l'utilisateur (colonne "Log On As As") pour le service: SQL Server (SQLEXPRESS).

Je suis allé dans le dossier local (C:\Utilisateurs\Me\Bureau\Sauvegarde) et j'ai ajouté "NT Service\MSSQL $ SQLEXPRESS" en tant qu'utilisateur pour donner des autorisations d'écriture.

0
Hiren Parghi