"Aucun jeu de sauvegarde sélectionné pour être restauré" SQL Server 2012

j'ai une base de données SQL Server 2012 avec filestream activé. Cependant, lorsque je le sauvegarde et que j'essaie de le restaurer sur une autre instance de SQL Server 2012( sur une autre machine), je reçois simplement ce message:

aucun jeu de sauvegarde sélectionné pour être restauré.

pas même une seule ligne d'explication. Quel est le problème ici?

toutes les autres bases de données sans filestream sont OK et peuvent être restaurées réussi. Est-il quelque chose lié à filestream? Dois-je installer un correctif ou quelque chose comme ça.

114
demandé sur Saeed Neamati 2012-08-25 10:54:57

21 réponses

j'ai eu ce problème et il s'est avéré que j'essayais de restaurer à la mauvaise version de SQL. Si vous voulez plus d'informations sur ce qui se passe, essayez de restaurer la base de données en utilisant le SQL suivant:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

qui devrait vous donner le message d'erreur dont vous avez besoin pour déboguer ceci.

141
répondu user489998 2013-08-29 11:07:36

Mon problème a fini par être autorisations . Je suis sur une machine dev et j'ai copié via mon groupe. D'une façon ou d'une autre, probablement d'après l'endroit où j'ai copié le fichier, les permissions ont été faussées et la direction de Studio ne pouvait pas lire le fichier. Comme il s'agit de dev, j'ai juste donné à tout le monde les permissions au fichier bak et j'ai pu restaurer avec succès via L'interface graphique.

55
répondu Tyler Forsythe 2015-09-28 21:38:03

en cours d'exécution:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

il m'a donné l'erreur suivante:

Les médias de la famille sur le périphérique 'C:\NorthwindDB.bak' est mal formé. SQL Server ne peut pas traiter cette famille de médias. Restaurer HEADERONLY se termine anormalement. (Microsoft SQL Server, Erreur: 3241) Blockquote

S'avère que vous ne pouvez pas prendre un DB d'une version SQL supérieure à une version inférieure, même si la compatibilité le niveau est le même sur les DB source et destination. Pour vérifier la version SQL, Lancez:

Select @@Version

pour voir la différence, il suffit de créer une base de données sur votre serveur source SQL et essayer de faire une restauration à partir de votre fichier de sauvegarde, lorsque vous faites ce whit SSMS, une fois que vous choisissez le fichier de sauvegarde, il affichera quelques informations à ce sujet comme opossé à lorsque vous l'Ouvrez à partir d'un serveur de version inférieure qui dira simplement "aucun backupset sélectionné pour être restauré" enter image description here

So si vous avez encore besoin de déplacer vos données vers une version inférieure SQL puis cochez ce .

20
répondu Alon Or 2017-04-13 12:42:39

exécuter SQL Server Management Studio en tant qu'administrateur (clic droit > Exécuter en tant qu'administrateur), puis essayer de restaurer.

11
répondu Keith 2015-04-19 18:30:24

j'ai pensé que je n'étais pas assez stupide pour mélanger les versions - cependant, je n'ai pas réalisé que sur mon nouveau serveur, une instance SQL Server 2005 avait déjà été installée dès sa naissance nommée SQLEXPRESS . Lorsque J'ai essayé de restaurer ma base de données SQL Server 2008 R2 sauvegardée dans SSMS 2012 à l'instance SQLEXPRESS , la liste des jeux de sauvegarde était vide.

finalement j'ai réalisé que le SQLEXPRESS instance sur le serveur n'a pas été 2012, mais un 2005. J'ai déconnecté et connecté à la réelle 2012 exemple (dans mon cas nommé SQLEXPRESS2012 ), et il est (évidemment).

9
répondu Frederik Struck-Schøning 2012-09-11 08:21:02

mon problème était que mon utilisateur était dans le groupe des administrateurs de Builtin et aucun utilisateur avec le rôle de Sysadmin sur le serveur SQL. Je viens de commencer le Studio de gestion en tant qu'administrateur. De cette façon, il était possible de restaurer la base de données.

6
répondu Liz 2014-05-12 07:09:45

désolé mais je viens de m'inscrire et je ne peux pas ajouter à un commentaire donc je copie la réponse de Tyler Forsythe ici qui est exactement ce qui a fonctionné pour moi.

" mon problème a fini par être des permissions. Je suis sur une machine dev et j'ai copié via mon groupe. D'une façon ou d'une autre, probablement d'après l'endroit où j'ai copié le fichier, les permissions ont été faussées et la direction de Studio ne pouvait pas lire le fichier. Puisque c'est dev j'ai juste donné à tout le monde des permissions pour le fichier bak et j'ai pu ensuite restaurer avec succès via L'interface graphique."Tyler Forsythe

et pour clarifier, je suis en train de restaurer une sauvegarde d'une instance de 2008 à 2012, différentes machines (production vs dev local). La sauvegarde est une sauvegarde automatique, je n'ai pas besoin de le créer manuellement pour que ce processus fonctionne. Il suffit de changer les permissions (tout le monde est le plus facile pour une machine dev locale) et SSMS peut maintenant lire le fichier de sauvegarde correctement et restaurer sur ma machine dev locale.

5
répondu DJ Donga 2013-09-23 04:50:17

dans mon cas, c'était les permissions et le fait que j'ai utilisé" restaurer des fichiers et des groupes de fichiers..."plutôt que simplement "Restaurer la Base de données ...".

Qui a fait la différence.

enter image description here

5
répondu Brian 2016-01-12 14:41:35

Pour moi, le problème était d'avoir la .Fichier BAK situé dans un dossier chiffré sur le serveur. Même avec tous les droits D'administration, je n'ai jamais pu obtenir de SSMS pour lire le fichier. Le déplacement de la .BAK à un dossier non crypté a résolu mon problème. Notez qu'après avoir déplacé le fichier, vous devrez peut-être aussi changer les propriétés du fichier actuel pour supprimer le cryptage (clic droit, Propriétés, Avancé, décocher "chiffrer le contenu pour sécuriser les données".

4
répondu GadgetNC 2013-09-11 22:09:18

FYI: j'ai trouvé que lors de la restauration, je devais utiliser les mêmes informations D'identification (utilisateur SQL) pour me connecter au SSMS. J'avais d'abord essayé la restauration en utilisant un compte D'authentification Windows.

4
répondu Ben Ripley 2014-05-22 19:05:17

J'ai eu le même problème avec SQL Server 2014 (Le Studio de gestion ne pouvait pas voir le dossier dans lequel résidait le fichier de sauvegarde, en essayant de le localiser pour une opération de restauration). ce fil tenait la réponse qui a résolu mon problème. Citation:

le compte de service SQL Server peut être trouvé par Start - > Control Panel - > Outils Administratifs - > Services. Double-cliquez sur le serveur SQL service - > connectez-vous à l'onglet. Vous allez être en utilisant le "compte Système Local" ou "Ce compte" pour définir un compte spécifique. Si vous utilisez le Compte système Local, vous ne pourrez pas faire référence à des sauvegardes qui sont pas de local pour le serveur. Si, au lieu de cela, vous avez défini le compte de utilisation, c'est le compte qui a besoin d'avoir accès au fichier de sauvegarde emplacement. Votre capacité à accéder aux sauvegardes en utilisant votre connexion personnelle n'est pas pertinent; C'est le compte SQL Server qui est utilisé, même si vous initialisez la sauvegarde. Votre IL les gens devraient être en mesure de déterminez quels droits sont accordés à chaque compte.

Espère que ça aide quelqu'un.

3
répondu BCA 2015-01-16 13:20:18

dans mon cas (installation d'un nouveau serveur sql, utilisateur nouvellement créé), mon utilisateur n'avait tout simplement pas la permission nécessaire. Je me suis connecté au Studio de gestion en tant que sa , puis suis allé à la sécurité/Logins, droit-cliquer mon nom d'utilisateur, Propriétés, puis dans la section Rôles du serveur j'ai coché sysadmin .

3
répondu Marc.2377 2015-11-23 10:14:53

pour moi, c'était parce que le fichier de sauvegarde était encore ouvert par un autre processus. Voici le journal des événements:

BackupDiskFile::OpenMedia: appareil 'X:\Backups\MyDatabase\MyDatabase_backup_2014_08_22_132234_8270986.bak' echec de l'ouverture. Erreur du système d'exploitation 32 (le processus ne peut pas accéder au fichier parce qu'il est utilisé par un autre processus.).

simplement la fermeture et la réouverture de Sql Server Management Studio résolu il (si évidemment il était ssms.l'exe qui avait le manche..)

2
répondu JohnZaj 2014-08-22 20:05:11

pour moi, c'est une question de privilège d'utilisateur. Je me suis connecté avec sa user et son bon fonctionnement.

2
répondu Sharfi 2018-03-29 13:30:20

une autre raison potentielle de ce bug semble être Google Drive. Google Drive compresse des fichiers bak ou quelque chose, donc si vous voulez transférer une sauvegarde de base de données via Google Drive, il semble que vous devez zip en premier.

1
répondu James G. 2014-08-15 19:13:15

utilisant SQL Server 2012 Express.

Mon erreur (à partir de SQL Manager - Restaurer la Base de données boîte de Dialogue):

No backupset selected to be restored

de plus, il n'y avait pas de sauvegardes affichées dans la liste à sélectionner.

le problème était que j'avais déplacé l'un des 5 fichiers de sauvegarde dans un dossier où L'utilisateur du service SQL Server n'avait pas les permissions - j'ai essayé d'ajouter cet utilisateur, mais n'a pas pu obtenir le service NT\MSSQL $ SQLEXPRESS l'utilisateur dans la liste de sécurité.

j'ai déplacé le fichier sous le dossier Documents pour l'utilisateur de service, et cela lui a permis de lire tous les fichiers que j'avais sélectionnés - 4 à ce moment - là - et l'erreur a changé à" media set missing missing " - alors j'ai cherché un autre fichier de sauvegarde, et quand j'ai ajouté que j'étais capable de restaurer.

les réponses à cette question m'ont aidé à chercher aux bons endroits et à trouver une solution.

0
répondu condiosluzverde 2016-10-13 16:13:46

pour moi, c'était une question de permission. J'ai installé SQL server en utilisant un compte utilisateur local et avant de rejoindre le domaine de mes entreprises. Plus tard, j'ai essayé de restaurer une base de données en utilisant mon compte de domaine qui n'a pas les permissions nécessaires pour restaurer les bases de données SQL server. Vous devez corriger la permission pour votre compte de domaine et donner la permission à l'administrateur du système informatique sur L'instance SQL server que vous avez.

0
répondu Anas Ghanem 2017-01-29 07:49:44

j'ai reçu le même message d'erreur même si je sauvegarde et restaure sur la même machine.

le problème venait d'ici: lorsque j'ai eu la sauvegarde, j'avais 2 articles dans la boîte de destination.

donc la solution serait: assurez-vous que seulement 1 élément dans la case "destination". Retirez tous les autres s'il y en a.

0
répondu Danniel Little 2017-08-31 19:20:34

si vous voulez remplacer la base de données existante utilisez complètement le avec remplacer option:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
WITH REPLACE
0
répondu Iasmini Gomes 2018-08-23 11:54:19

Dans mon cas, c'était un problème d'autorisations.

enter image description here

pour L'utilisateur Windows, j'utilisais n'avait pas de rôle dbcreator .

donc j'ai suivi les étapes ci-dessous

  1. se Connecter en tant que sa SQL server
  2. Développer Security dans l'Explorateur d'Objets
  3. Développer Logins
  4. clic droit sur L'utilisateur Windows en question
  5. cliquez sur les propriétés
  6. sélectionner Server Roles de Select a page options
  7. Vérifier dbcreator rôle de l'utilisateur
  8. cliquez sur OK

enter image description here

0
répondu Devraj Gadhavi 2018-09-18 00:46:58

j'ai rencontré le même problème. Exécuter SSMS en tant qu'administrateur puis clic droit et restaurer la base de données. Devrait fonctionner.

0
répondu Jonny Boy 2018-10-03 18:48:17