J'ai une base de données SQL Server 2012 avec filestream activé. Cependant, lorsque je le sauvegarde et que je tente 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 supplémentaire. Quel est le problème ici?
Toutes les autres bases de données sans flux de fichiers sont correctes et peuvent être restaurées avec succès. Est-ce quelque chose lié à filestream? Dois-je installer un correctif ou quelque chose comme ça.
sql-server
restore
sql-server-2012
Saeed Neamati
la source
la source
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 souhaitez plus d'informations sur ce qui se passe, essayez de restaurer la base de données à l'aide du SQL suivant:
Cela devrait vous donner le message d'erreur dont vous avez besoin pour déboguer cela.
la source
No backupset selected to be restored.
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Mon problème a fini par être les autorisations . Je suis sur une machine de développement et copié via Homegroup. D'une manière ou d'une autre, probablement en fonction de l'endroit où j'ai copié le fichier, les autorisations ont été perturbées et Management Studio n'a pas pu lire le fichier. Comme il s'agit de dev, j'ai simplement donné à tout le monde les autorisations sur le fichier bak et j'ai pu restaurer avec succès via l'interface graphique.
la source
.bak
fichier, qui a été créé par le service Web de téléchargement de fichiers, qui s'exécute sous IISApplicationPoolIdentity
Lors de l'exécution:
Cela m'a donné l'erreur suivante:
Il s'avère que vous ne pouvez pas faire passer une base de données d'une version SQL supérieure à une version inférieure, même si le niveau de compatibilité est le même sur les bases de données source et de destination. Pour vérifier la version SQL, exécutez:
Pour voir la différence, créez simplement une base de données sur votre serveur SQL source et essayez de faire une restauration à partir de votre fichier de sauvegarde. ouvrez-le à partir d'un serveur de version inférieure qui dira simplement "aucun jeu de sauvegarde sélectionné à restaurer"
Donc, si vous devez toujours déplacer vos données vers une version SQL inférieure, cochez ceci .
la source
Exécutez SQL Server Management Studio en tant qu'administrateur (cliquez avec le bouton droit sur le raccourci / exe, puis sélectionnez «Exécuter en tant qu'administrateur»), puis essayez de restaurer.
la source
Je pensais que je n'étais pas assez stupide pour mélanger les versions - cependant, je ne savais pas que sur mon nouveau serveur, une instance de SQL Server 2005 était déjà installée depuis sa naissance nommée
SQLEXPRESS
. Lors de la tentative de restauration de ma base de données sauvegardée SQL Server 2008 R2 dans SSMS 2012 sur l'SQLEXPRESS
instance, la liste des jeux de sauvegarde était vide.Finalement, j'ai réalisé que l'
SQLEXPRESS
instance sur le serveur n'était pas une instance 2012, mais une 2005. Je me suis déconnecté et connecté à l' instance 2012 réelle (dans mon cas nomméSQLEXPRESS2012
), et cela a (évidemment) fonctionné.la source
Mon problème était que mon utilisateur était dans le groupe Builtin-Administrators et aucun utilisateur avec le rôle Sysadmin sur SQL Server. Je viens de démarrer le Management Studio en tant qu'administrateur. De cette façon, il était possible de restaurer la base de données.
la source
FYI: J'ai constaté que lors de la restauration, je devais utiliser les mêmes informations d'identification (utilisateur SQL) pour me connecter à SSMS. J'avais d'abord essayé la restauration en utilisant un compte d'authentification Windows.
la source
Dans mon cas, c'était les permissions et le fait que j'utilisais "Restaurer les fichiers et les groupes de fichiers ..." plutôt que simplement "Restaurer la base de données ...".
Cela a fait la différence.
la source
Pour moi, c'est un problème de privilège utilisateur. Je me suis connecté avec un utilisateur et cela fonctionne bien.
la source
Pour moi, le problème était d'avoir le fichier .BAK situé dans un dossier crypté sur le serveur. Même avec les droits d'administrateur complets, je ne pourrais jamais obtenir de SSMS pour lire le fichier. Le déplacement du .BAK vers un dossier non chiffré a résolu mon problème. Notez qu'après avoir déplacé le fichier, vous devrez peut-être également modifier les propriétés du fichier réel pour supprimer le cryptage (clic droit, propriétés, avancé, décochez "crypter le contenu pour sécuriser les données".
la source
J'ai eu le même problème avec SQL Server 2014 (Management Studio ne pouvait pas voir le dossier dans lequel résidait le fichier de sauvegarde, lors d'une tentative de le localiser pour une opération de restauration). Ce fil contenait la réponse qui a résolu mon problème. Citation:
J'espère que cela aide quelqu'un.
la source
Dans mon cas (nouvelle installation de serveur SQL, utilisateur nouvellement créé), mon utilisateur n'avait tout simplement pas l'autorisation nécessaire. Je me suis connecté au Management Studio en tant que sa , puis je suis allé dans Sécurité / Connexions, cliquez avec le bouton droit sur mon nom d'utilisateur, Propriétés, puis dans la section Rôles du serveur, j'ai vérifié
sysadmin
.la source
Pour moi, c'était parce que le fichier de sauvegarde était toujours ouvert par un autre processus. Voici le journal des événements:
BackupDiskFile :: OpenMedia: le périphérique de sauvegarde 'X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak' n'a pas pu s'ouvrir. Erreur 32 du système d'exploitation (le processus ne peut pas accéder au fichier car il est utilisé par un autre processus.).
Le simple fait de fermer et de rouvrir Sql Server Management Studio l'a résolu (donc évidemment, c'était ssms.exe qui avait le handle ..)
la source
Une autre raison potentielle de ce problème semble être Google Drive. Google Drive est en train de compresser des fichiers bak ou quelque chose du genre, donc si vous souhaitez transférer une sauvegarde de base de données via Google Drive, il semble que vous devez d'abord la compresser.
la source
Si vous souhaitez remplacer complètement la base de données existante, utilisez l' option WITH REPLACE :
la source
Dans mon cas, c'était un problème d'autorisations.
Pour l'utilisateur Windows, j'utilisais n'avait pas de
dbcreator
rôle.J'ai donc suivi les étapes ci-dessous
sa
au serveur SQLSecurity
dans l'Explorateur d'objetsLogins
Server Roles
parmi lesSelect a page
optionsdbcreator
rôle de l'utilisateurla source
Utilisation de SQL Server 2012 Express.
Mon erreur (à partir du Gestionnaire SQL - Boîte de dialogue de restauration de la base de données):
No backupset selected to be restored
En outre, il n'y avait aucun jeu de sauvegarde affiché dans la liste à sélectionner.
Le problème était que j'avais déplacé 1 des 5 fichiers de sauvegarde dans un dossier où l'utilisateur de connexion au service SQL Server n'avait pas d'autorisations - j'ai essayé d'ajouter cet utilisateur, mais je n'ai pas pu obtenir l'utilisateur NT Service \ MSSQL $ SQLEXPRESS dans la sécurité liste.
J'ai déplacé le fichier sous le dossier Documents pour l'utilisateur du service, ce qui lui a permis de lire tous les fichiers que j'avais sélectionnés - 4 à ce stade - et l'erreur a changé en "jeu de médias manquant" - puis j'ai cherché un autre fichier de sauvegarde , et quand j'ai ajouté que j'ai pu restaurer.
Les réponses à cette question m'ont aidé à chercher aux bons endroits et à trouver une solution.
la source
Pour moi, c'était une question de permission. J'ai installé SQL Server en utilisant un compte d'utilisateur local et avant de rejoindre le domaine de mon entreprise. Plus tard, j'ai essayé de restaurer une base de données en utilisant mon compte de domaine qui ne dispose pas des autorisations nécessaires pour restaurer les bases de données du serveur SQL. Vous devez corriger l'autorisation pour votre compte de domaine et lui donner l'autorisation d'administrateur système sur l'instance de serveur SQL dont vous disposez.
la source
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: lors de la sauvegarde, j'avais 2 éléments dans la boîte de destination.
Donc, le correctif serait: assurez-vous qu'il n'y a qu'un seul élément dans la case «destination». Supprimez tous les autres s'il y en a.
la source
J'ai rencontré le même problème. Exécutez SSMS en tant qu'administrateur, puis cliquez avec le bouton droit de la souris et effectuez la restauration de la base de données. Devrait marcher.
la source
Je pense que je reçois le prix pour la raison la plus cruelle d'avoir cette erreur. Dans la boîte de dialogue Restaurer la base de données, la liste déroulante de la base de données sous Source est grise et je pensais qu'elle était désactivée. Je suis passé à la liste déroulante de la base de données sous Destination en pensant que c'était la source et j'ai fait une sélection. Cela entraînera l'affichage de ce message d'erreur.
la source