web-dev-qa-db-fra.com

Erreur SQL Server «Numéro de séquence de famille manquant 2»

J'essaie de restaurer une base de données locale sur mon serveur, mais j'ai des problèmes avec la sauvegarde. J'ai fait un fichier . Bak mais chaque fois que j'essaye de le charger sur le serveur, il ne me le permet pas.

Voici une capture d'écran du message d'erreur que je reçois:

enter image description here

J'ai lu que je peux utiliser RESTORE LABELONLY pour restaurer mon fichier mais ne fonctionne toujours pas, chaque fois que je l'exécute, j'obtiens quelque chose comme ceci:

Impossible d'ouvrir le périphérique de sauvegarde 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.JOSEMA\MSSQL\Backu\INNOVA-T.bak'. Erreur 3 du système d'exploitation (impossible de récupérer le texte de cette erreur. Raison: 15105). Msg 3013, niveau 16, état 1, ligne 1 RESTORE LABELONLY se termine anormalement .

Toute aide est la bienvenue. Je vous remercie.

12

L'erreur indique que votre .bak le fichier n'est qu'une partie de la sauvegarde. Lorsque la sauvegarde a été écrite, elle a été écrite dans trois fichiers. Si vous pouvez écrire une sauvegarde sur plusieurs fichiers sur plusieurs lecteurs, elle se terminera souvent plus rapidement.

Selon ce StackOverflow Q & A , RESTORE LABELONLY devrait vous aider à confirmer que la sauvegarde s'étend sur plusieurs fichiers, mais elle ne le sera pas vous permet de restaurer réellement la sauvegarde - vous aurez besoin des trois fichiers pour cela.

Si vous pouvez localiser les trois fichiers (et êtes sûr qu'ils proviennent de la même exécution de la sauvegarde), vous devriez pouvoir restaurer la sauvegarde - vous devrez spécifier les trois fichiers dans la commande RESTORE (ou via la boîte de dialogue de restauration SSMS).

SI vous ne le pouvez pas, mais que vous avez toujours accès au serveur d'origine, vous pouvez effectuer une nouvelle sauvegarde.

REMARQUE: si ce serveur d'origine possède un DBA, travaillez avec lui. Vous voulez vous assurer que votre sauvegarde ne causera aucun problème de réplication, d'envoi de journaux ou de possibilité de restauration à un moment donné.

Si vous êtes effectivement le DBA, alors:

  • Accédez à SQL Server Management Studio (SSMS), connectez-vous au serveur et développez Bases de données.
  • Cliquez avec le bouton droit sur la base de données d'origine et choisissez Tâches -> Sauvegarder ... Une fenêtre de dialogue s'ouvrira.
  • Sur la première page de la boîte de dialogue:

    • Assurez-vous que la base de données que vous souhaitez sauvegarder est sélectionnée comme base de données source.
    • Assurez-vous que le type de sauvegarde est "complet".
    • Cochez sur "Copie uniquement de sauvegarde".
    • Assurez-vous que le composant de sauvegarde est défini sur "Base de données"
    • En bas de la fenêtre: s'il existe des entrées existantes dans la liste "Destination", supprimez-les.
    • Cliquez sur "Ajouter" pour ajouter un nouveau fichier de sauvegarde. Assurez-vous que vous savez où se trouvera le fichier (généralement, vous avez seulement la possibilité d'écrire sur le disque local du serveur de base de données à l'aide de cette interface; si vous devez écrire dans un dossier sur un serveur partagé, vous pouvez essayer de coller dans le chemin UNC complet vers le serveur partagé et en saisissant le nouveau nom de fichier dans la boîte de dialogue de sélection de fichier. Si cela ne fonctionne pas, spécifiez un lecteur local et un nom de fichier unique). Assurez-vous également que le nom de fichier est unique - vous ne voulez pas écraser les fichiers existants sur le serveur.
    • Lorsque vous revenez à la fenêtre de dialogue de sauvegarde d'origine, passez à la page "Options" (côté gauche de la fenêtre).
    • Sous "Écraser le support", sélectionnez "Sauvegarder sur un nouveau jeu de supports et effacer tous les jeux de sauvegarde existants".
      • Oui, cela semble effrayant - cependant, cela est principalement utilisé pour réinitialiser une sauvegarde bande afin que toutes les anciennes données soient effacées; tant que vous écrivez dans un nouveau nom de fichier, tout devrait bien se passer.
      • Entrez un nouveau pour le jeu de supports - quelque chose comme "- sauvegarde unique" est suffisant.
    • Vous pouvez définir certaines des options sous "Fiabilité"; Je les laisserais tous tranquilles.
    • Vous pouvez également accepter la valeur par défaut pour "Définir la compression de sauvegarde"; J'aurais probablement réglé tit sur "Compress backup", mais ce n'est pas critique. (Si vous n'exécutez pas SQL Server 2008 ou une version ultérieure, cela n'est pas là du tout ou n'est pas pertinent).
    • NE PAS cliquez sur "OK", au lieu de cela, cliquez sur la petite flèche par "Script" en haut de la fenêtre de dialogue, et choisissez "Action de script dans une nouvelle fenêtre de requête". Une fois que vous pouvez voir le script, cliquez sur "Annuler".
  • Revérifiez le script - il ne devrait y avoir qu'un seul fichier inclus.
  • Si vous souhaitez écrire le fichier dans un emplacement différent, vous pouvez modifier le chemin d'accès au fichier dans le script. Encore une fois, le serveur doit pouvoir accéder à l'emplacement que vous spécifiez, de sorte que le compte utilisé pour exécuter le service SQL Server (et/ou le service SQL Server Agent) doit avoir accès au chemin où vous souhaitez que le fichier soit écrit.
  • Maintenant, exécutez le script.

En supposant que tout se passe bien, vous pouvez maintenant utiliser votre nouveau fichier de sauvegarde pour effectuer la restauration vers l'autre emplacement. Encore une fois, le serveur SQL sur lequel vous effectuez la restauration devra avoir accès au fichier de sauvegarde, vous pouvez donc le copier sur ce serveur.

16
RDFozz