Sauvegarde permanente de SQL Server 2012, complète ou copie uniquement

8

J'ai besoin d'une clarification rapide sur la sauvegarde en copie seule vs la sauvegarde complète en ce qui concerne la numérotation des journaux de transactions et la restauration si nécessaire.

J'ai la configuration de SQL Server 2012 avec toujours activé pour plusieurs bases de données. Les groupes de disponibilité sont configurés avec une sauvegarde préférée sur la réplique.

seules les sauvegardes de copie seule et de journal des transactions sont possibles sur la réplique. Cela signifie-t-il que je devrai effectuer une sauvegarde complète sur le serveur principal si une restauration du journal des transactions est requise?

Je vous remercie

Debbie
la source

Réponses:

2

seules les sauvegardes de copie seule et de journal des transactions sont possibles sur la réplique

Vrai.

Cela signifie-t-il que je devrai effectuer une sauvegarde complète sur le serveur principal si une restauration du journal des transactions est requise?

Réponse courte OUI .

De BOL :

Une chaîne de journaux cohérente est assurée entre les sauvegardes de journaux effectuées sur l'une des répliques (principale ou secondaire), quel que soit leur mode de disponibilité (validation synchrone ou validation asynchrone).

Donc, pour répondre à votre question, une sauvegarde COPY_ONLY ne peut pas faire partie d'une restauration qui implique des sauvegardes T-log (effectuer une restauration ponctuelle). Son point tout est d'avoir un jeu de sauvegarde en dehors de la chaîne de sauvegarde régulière pas un impact sur la séquence de restauration.

Une sauvegarde complète doit être effectuée sur la base de données principale (ne peut pas être une copie de sauvegarde uniquement).

Seule la sauvegarde du journal T (comme mentionné ci-dessus) peut être effectuée sur le primaire ou le secondaire avec un CAVEAT qui ne gâchera pas les LSN sur le PRIMARY, c'est-à-dire qu'il gardera les LSN cohérents - quel que soit l'endroit où vous effectuez les sauvegardes de journaux dans le groupe de disponibilité .

Le mieux est de vérifier sys.fn_hadr_backup_is_preferred_replicaque les sauvegardes de journaux utiliseront les préférences de sauvegarde du groupe de disponibilité pour les sauvegardes de journaux.

Voir: Exécution de sauvegardes du journal des transactions à l'aide de réplicas secondaires en lecture seule AlwaysOn Availability Group - Partie 1

Kin Shah
la source
2
Vous pouvez certainement utiliser une sauvegarde complète COPY_ONLY et appliquer des journaux de transactions par-dessus. Une sauvegarde complète COPY_ONLY est structurellement la même que toute autre sauvegarde complète. La seule différence est qu'il ne réinitialise pas le bitmap différentiel. Après avoir restauré l'intégralité de COPY_ONLY, vous pouvez commencer la restauration avec le journal des transactions qui contient le dernier LSN de la sauvegarde COPY_ONLY, puis poursuivre la chaîne de journaux comme d'habitude.
AMtwo
6

Cela signifie-t-il que je devrai effectuer une sauvegarde complète sur le serveur principal si une restauration du journal des transactions est requise?

NON - Vous pouvez ajouter des sauvegardes t-log à une restauration d'une sauvegarde COPY_ONLY

user42163
la source
2

Vous pouvez restaurer les journaux de transactions en plus d'une sauvegarde complète en copie seule - cela signifie que vous pouvez utiliser une sauvegarde en copie seule à partir du réplica secondaire avec les journaux de transactions et effectuer une récupération ponctuelle.

Toutefois, si vous effectuez uniquement des sauvegardes de copie uniquement sur le réplica secondaire, vous n'aurez pas de "vraie" sauvegarde pour réinitialiser le bitmap différentiel sur le réplica principal. Si les sauvegardes différentielles font partie de votre stratégie de récupération, vous devez effectuer des sauvegardes complètes sur le serveur principal. Si vous souhaitez tous utiliser une sauvegarde différentielle, vous devez effectuer une sauvegarde complète sur le réplica principal pour l'utiliser comme base différentielle.

AMtwo
la source
2

J'ai testé avec succès l'utilisation d'une sauvegarde en copie seule et les sauvegardes de journaux qui s'étendent sur la copie uniquement jusqu'au moment souhaité. Vous devez disposer de toutes les sauvegardes de journaux. Donc, si vous avez plusieurs répliques que vous utilisez pour effectuer les sauvegardes (un basculement s'est produit par exemple), vous devez vous en assurer et en assurer le suivi. Lors de mes tests, j'ai simplement configuré les choses de manière à ce que toutes les sauvegardes soient centralisées. SQL gère la chaîne de journaux pour les sauvegardes de journaux sur tous les nœuds de l'AG. Un bel article ici ... http://info.tricoresolutions.com/blog/understanding-backups-with-sql-server-alwayson-high-available-mirrors

JohnH
la source
1

J'ai eu beaucoup de confusion autour du sujet - Dans le cluster AG, la restauration de la sauvegarde du journal suit avec la copie - uniquement la sauvegarde complète.

Cela fonctionne maintenant très bien. Nous pouvons utiliser une copie de sauvegarde uniquement à partir d'une réplique secondaire:

USE [master]
RESTORE DATABASE [xxxxx_testDB] FROM  
DISK = N'D:\Backups\FULL_COPY_ONLY\xxxxx_testDB_FULL_COPY_ONLY.bak' 
WITH  FILE = 1, 
MOVE N'xxxxx_testDB' TO N'D:\testdb\xxxxx_testDB.mdf',  
MOVE N'xxxxx_testDB_log' TO N'D:\testdb\xxxxx_testDB.ldf',  
NORECOVERY

GO


RESTORE LOG xxxxx_testDB
FROM DISK = 'D:\Backups\FULL_COPY_ONLY\xxxxx_testDB_LOG_1.trn'
WITH NORECOVERY; 
GO

RESTORE LOG xxxxx_testDB
FROM DISK = 'D:\Backups\FULL_COPY_ONLY\xxxxx_testDB_LOG_2.trn'
WITH NORECOVERY; 
GO


RESTORE DATABASE xxxxx_testDB WITH RECOVERY
JAYAKUMAR SINNAPILLAI
la source