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.
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 $.
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
Le compte de service SQL Server ne dispose pas des autorisations nécessaires pour écrire dans le dossier C:\Users\Kimpoy\Desktop\Backup\
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.
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.
Je suis confronté au même problème avec SQL Express 2014 SP1 sous Windows 10.
Solution qui fonctionne
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
Ensuite, vous devez aller à "Services SQL Server"
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:
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.
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!
J'ai eu le même problème et l'URL ci-dessous m'a vraiment aidé.
Cela pourrait vous aider aussi.
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';
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)
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.
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.
J'espère que cela vous aidera bien, comme cela m’a été fait. À votre santé!
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.
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:
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.
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.