2017-09-14 16 views
0

J'ai une base de données de serveur SQL avec 5 groupes de fichiers i à sauvegarder 2 (un des groupes de fichiers contient filestream) seulement et les rendre à différentes bases de données existantes.Restaurer la base de données différente filegroup

+0

Que voulez-vous dire en disant « à différentes bases de données existantes »? Chaque restauration recrée les fichiers qu'elle restaure, voulez-vous dire que votre base de données "différente" a la même structure? (Je veux dire le nombre de fichiers de données et leur readwrite/état en lecture seule? – sepupic

+0

Une autre base de données qui ont un nombre différent et les noms des fichiers et des groupes de fichiers –

+0

Lorsque vous restaurer dans cette base de données, Noone là-dessus est des fichiers sera accessible. Le fichier principal mdf sera être réécrite et nouvellement base de données restaurée aura aucune idée de ce que les fichiers ne il a restaurer avant. il ne saura que sur les fichiers de db d'origine qui a été Backupées – sepupic

Répondre

1

Ce que vous demandez au sujet est Piecemeal Restores (SQL Server)

Vous pouvez restaurer primary + tous readwrite fg + une des readonly groupes de fichiers Vous êtes dans simple modèle de récupération ou vous pouvez restaurer primary + tout autre groupe de fichiers (s) si vous êtes dans full modèle de récupération.

En tant que premier groupe de fichiers à restaurer est toujours primary filegroup, il remplacera votre fichier de données primaires « différentes bases de données existantes » et connectez-vous (dans votre commande restore vous devez utiliser with move qui pointe vers votre mdf existant + les fichiers journaux) et chaque la restauration suivante remplacera d'autres fichiers, il ne restera rien de votre base de données "existante", donc il n'y a aucun sens à restaurer dans une "base de données existante différente": vous ne pourrez mettre en ligne que les groupes de fichiers restaurés et la base de données ne sait rien sur les fichiers restants de "base de données existante". Donc, c'est juste la même chose que de restaurer juste une autre base de données (non existante).

Voici la restauration par exemple de séquence pour primary + readonly fg dans simple modèle de récupération Example: Piecemeal Restore of Only Some Filegroups (Simple Recovery Model)

Et voici l'exemple pour full modèle de récupération Example: Piecemeal Restore of Only Some Filegroups (Full Recovery Model)

+0

Mon cas est que j'ai deux bases de données DB1 (groupes de fichiers FG1, FG2, FG3) et un autre sur db2 (groupes de fichiers GR4, FG5, FG6), je veux FG2 de sauvegarde de DB1 et RESTORE à db2 –

+0

Je vous ai déjà répondu, c'est impossible: chaque restauration fragmentaire commence par la restauration obligatoire du groupe de fichiers principal, et fg1 de db1 sait que cette base de données n'a que fg1 et fg2. Votre fg4, fg5, fg6 ne fera pas partie de la base de données restaurée – sepupic

+0

Vous pouvez restaurer seulement quelques fg sans restaurer la première base de données TO THE SAME, mais ce n'est pas votre cas. Et quand vous restaurez à un autre DB, le premier fg à restaurer est toujours PRIMAIRE – sepupic