J'utilise SQL Server et j'ai une énorme base de données avec deux groupes de fichiers:
- Primaire : qui contient toutes les données sauf les gros fichiers (1 Mo +)
- FILESTREAM (lecture / écriture) : qui contient les gros fichiers
Maintenant, le scénario de sauvegarde est:
- Chaque vendredi, obtenez une sauvegarde complète (2 h)
- Chaque jour de la semaine, sauf le vendredi, bénéficiez d'une sauvegarde différentielle (2 h)
Étant donné que la base de données est volumineuse et qu'elle est en production sur un serveur distant, chaque fois que je souhaite amener la base de données dans mon environnement local pour créer une base de données de test (chaque semaine), je dois apporter à la fois le flux principal et le flux de fichiers.
Je voudrais pouvoir changer la façon dont les sauvegardes et les restaurations sont effectuées, de telle manière qu'il ne restait plus qu'à amener le groupe de fichiers principal, en ignorant le flux de fichiers. De cette façon, chaque semaine, je n'apportais que le groupe de fichiers principal, et pas toutes les informations qui supposent le flux de fichiers.
Je pense qu'il peut y avoir beaucoup de problèmes, et toutes les références de filestream peuvent être perdues lors de l'accès aux fichiers. Je voudrais savoir s'il est possible de modifier le contenu de toutes les colonnes filestream lors d'une sauvegarde, ou d'utiliser un autre filestream hébergé dans l'environnement de test. De plus, j'ai entendu parler de la restauration fragmentaire de seulement certains groupes de fichiers, mais j'ai de nombreux doutes sur la façon de l'exécuter.
Question 1: puis-je avoir ce scénario?
Question 2: est-ce une bonne idée de n'avoir qu'une seule sauvegarde complète et d'apporter des sauvegardes différentielles / journaux de transactions à l'environnement de test?
Question 3: puis-je avoir un meilleur scénario pour sauvegarder et restaurer?
Je suis à l'écoute des recommandations. Si vous avez un exemple, veuillez me montrer avec une requête T-SQL.
la source
Réponses:
Non.
Je créerais ma base de données de test avec le même schéma que la base de données de production, puis j'écrirais un script personnalisé pour synchroniser les données dans le groupe de fichiers principal (c'est assez facile car votre système de production est la source, donc la synchronisation n'est que dans un seul sens ).
Ensuite, avec les données de filestream, je stub les fichiers, ce qui pourrait être fait de plusieurs façons. Du haut de ma tête, je générerais en quelque sorte des fichiers à zéro octet du côté test.
la source