J'utilise SQL Server 2014 et voici la situation:
- J'ai le serveur A et le serveur B.
- ETL de nuit est traité sur le serveur A.
- Une fois le processus de chargement terminé, la base de données X est sauvegardée (avec
CHECKSUM
etRESTORE VERIFYONLY
pour garantir la fiabilité), puis envoyée au serveur B. - Le serveur B reçoit le
bak
fichier, puis y restaure la base de données.
Je souhaite utiliser une stratégie de sauvegarde différentielle afin que:
La sauvegarde complète n'est effectuée que le samedi,
c'est -à- dire la sauvegarde complète sur le serveur A le samedi -> expédier au serveur B -> Restaurer la sauvegarde complète sur le serveur BLe reste des jours sera une sauvegarde différentielle,
c'est-à-dire une sauvegarde différentielle sur le serveur A -> expédier au serveur B -> Restaurer la sauvegarde différentielle sur le serveur B
J'ai essayé mais j'ai eu une erreur en disant:
le journal ou la sauvegarde différentielle ne peut pas être restauré car aucun fichier n'est prêt à être restauré.
Pas certain de pourquoi. J'ai vérifié sys.database_files
sur le serveur A et le serveur B, et je peux voir que le differential_Base_LSN
et differential_base_GUID
sont les mêmes. Où / autre chose à vérifier?
Au fait, à l'étape 2 ci-dessus, lorsque je restaure la sauvegarde diff sur le serveur B, ai-je toujours besoin de restaurer à la fois la sauvegarde complète + la sauvegarde différentielle?
J'ai uniquement restauré la sauvegarde différentielle WITH RECOVERY
(et j'ai reçu ce message d'erreur) car la sauvegarde complète a déjà été restaurée la veille.
Pour clarifier: Oui, je veux que la base de données sur le serveur B soit lisible entre les différentiels. Comment contourner cela? Ma seule option est-elle de RESTORE FULL (WITH NORECOVERY)
+ RESTORE DIFF (WITH RECOVERY)
combiner la séquence chaque nuit?
Tout conseil sera très apprécié.
la source