web-dev-qa-db-fra.com

Le fichier .bak n'est visible dans aucun répertoire de SSMS

J'ai un fichier .bak créé aujourd'hui par quelqu'un d'autre, créé manuellement via SSMS 2008 R2. J'essaie de restaurer manuellement la base de données, malheureusement le fichier n'apparaît pas lorsque je vais le parcourir.

Je peux scripter le processus de restauration, mais j'ai déjà vu ce problème et je ne suis pas sûr de ce qui pourrait empêcher le .bak d'apparaître.

48
Sean Long

Nous avons eu le même problème aujourd'hui. Cela s'est avéré être un problème d'autorisations, comme illustré dans certaines des autres réponses. La différence est que le compte que nous devions ajouter était NT SERVICE\MSSQLSERVER.

Screenshot

J'ai identifié le compte en comparant les autorisations des autorisations de dossier de sauvegarde SQL par défaut au dossier contenant le fichier de sauvegarde.

L'ajout du compte de service n'est pas aussi simple qu'il y paraît. Voici ce qui a fonctionné pour moi. (Server 2012 R2)

  1. Connectez-vous au serveur. (La modification doit être effectuée sur le serveur réel, et non via un partage réseau.)
  2. Remplacez Locations par le nom du serveur local.
  3. Tapez NT SERVICE\MSSQLSERVER dans la zone de nom. (Ne cliquez pas sur Vérifier les noms)
  4. Cliquez sur OK. Vous verrez alors une liste des comptes de service correspondants. Sélectionnez MSSQLSERVER, puis cliquez sur OK pour accepter la sélection.

enter image description here

enter image description here

Vous devriez voir le compte de service répertorié dans les paramètres de sécurité et pouvez ajuster les autorisations en conséquence.

Après avoir ajouté des autorisations (j'ai ajouté Contrôle total pour correspondre au dossier de sauvegarde SQL par défaut.) Et redémarré la console de gestion SQL Server, j'ai pu sélectionner et restaurer mon fichier de sauvegarde.

43
AdamsTips

Je l'ai eu aujourd'hui.

J'ai désactivé le partage de fichiers, l'indexation et effacé toutes les sessions ouvertes (des personnes se sont connectées pour copier des sauvegardes), mais le problème n'a pas disparu.

Je suis allé dans l'Explorateur Windows, j'ai copié les sauvegardes dans un autre dossier et j'ai parcouru celui-ci via Management Studio, et je pouvais le voir là-bas.

Supprimez le dossier d'origine et recréez-le, copiez à nouveau le contenu et naviguez jusqu'au .bak fichiers et il est revenu à la normale.

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

16
user27816

J'ai rencontré ce problème plusieurs fois. Le problème n'est pas avec SQL Server mais avec l'autorisation Windows du dossier. Vous devez ajouter l'autorisation appropriée au dossier dans lequel vous avez copié le fichier .bak (je pense que System Network rôle).

La solution la plus simple consiste à déplacer le fichier vers le dossier de sauvegarde par défaut dans Program Files. Il dispose de toutes les autorisations nécessaires. Pour SQL Server 2012, il est

D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup
8
Jackofall

J'ai également rencontré le même problème aujourd'hui. On m'a donné un fichier de sauvegarde à restaurer mais il ne m'a pas été visible lors de la navigation. Cependant, j'ai pu accéder au système de fichiers mais dans l'assistant de restauration en utilisant SQL Server management Studio.

Après avoir dépensé un peu, j'ai découvert que c'était un problème de permissions. Le service SQL Server s'exécute à l'aide de Network Service mais Network Service le compte n'était pas autorisé à accéder au dossier. Après avoir accordé les autorisations à Network Service. Le fichier de sauvegarde était visible à restaurer.

Pour plus de détails, veuillez vérifier par Blog .

3
Scorpion

Cela m'est arrivé aujourd'hui sur ma boîte de développement. Dans mon cas, le compte de service avait des autorisations sur le dossier, mais pas mon compte d'utilisateur. Une fois que j'ai accordé les autorisations de mon compte au dossier, j'ai pu voir les fichiers .BAK.

2
Head of Catering

Si vous pouvez le trouver dans l'Explorateur Windows, vous devez alors écrire un RESTORE DATABASE commande au lieu de s'appuyer sur l'interface graphique maladroite pour la trouver pour vous. Qui sait quel code se passe là-dedans et pourquoi il ne pourrait pas trouver le fichier - désolé, je n'ai qu'une solution de contournement et pas une solution.

Assurez-vous également que le fichier est bien quelque chose.bak et non quelque chose.bak.txt (Windows peut vous "cacher" utilement l'extension. Je déteste ce comportement par défaut.)

2
Aaron Bertrand