web-dev-qa-db-fra.com

Maintance de journal de transaction lors de l'utilisation du groupe Towyon Disponibilité

Nous utilisons la fonctionnalité HADR (TAWONON DISPONIBILITABILITABILITABILITÉ) de SQL Server 2012. Configuration du serveur et AG comme ci-dessous:

  1. SQL12_SRV1 -> AG1 (primaire) - Sync - >> DBTEST

  2. SQL12_SRV2 -> AG1 (secondaire) - >> DBTEST - ASYNC

La base de données DBTest augmente (200 Go) jour après jour, le fichier journal de la même transaction se développera également en fonction des données.

Donc, comment minimiser la taille du fichier journal de transaction en utilisant un moyen correct de la sauvegarde du journal. Sur quelle réplique nous devons prendre la sauvegarde du journal.

Merci d'avance.

8
user25184

Vous pouvez sauvegarder le journal des transactions de l'une des répliques . Faire la sauvegarde du journal de transaction sur la réplique principale ou la réplique secondaire marquera les journaux de transaction des réplicas comme réutilisable (à condition que aucun autre stoppers ne soit en place comme des transactions actives, etc.).

Pour effectuer un test, dans un environnement de non-production, configurez un groupe de disponibilité, comme vous l'avez dans votre système de production (commetynchrone commit vers la réplique secondaire).

Dans mon environnement de test, j'ai une base de données de test, TestBackupDatabase, et je l'ai gonflé avec des transactions connectées via une table factice:

use TestBackupDatabase;
go

create table dbo.TestTable
(
    id int identity(1, 1) not null,
    some_int int not null
        default 1
);
go

insert into dbo.TestTable
default values;
go 1000

Maintenant, lorsque je fais une sauvegarde du journal de transaction sur ma primaire, à l'aide de DBCC SQLPERF(LOGSPACE) Je vois sur les deux journaux de transaction (primaire et secondaire) que l'espace utilisé a chuté en raison de la troncature du journal. BLOATINGE La transaction Connectez-vous avec le même test sur le primaire:

insert into dbo.TestTable
default values;
go 1000

Je fais maintenant une sauvegarde du journal de transaction sur la réplique secondaire ASYNC. Exécution DBCC SQLPERF(LOGSPACE) à nouveau sur chaque réplique, je vois le même comportement: la réutilisation du journal des transactions.

BOL Référence : secondaires actifs: sauvegarde sur les répliques secondaires (groupes de disponibilité toujours

10
Thomas Stringer

Lorsque vous utilisez Twamonon Dispontability Group, même si vous faites une sauvegarde correcte, le fichier journal peut augmenter plus grand et que le lecteur de journal peut être plein au fil du temps. Afin de maintenir une taille de fichier de journalisation correcte (minimiser), vous pouvez utiliser la technique suivante.

  1. sur la configuration TOUWONON, modifiez les options de priorité de sauvegarde sur la réplique/serveur principal.
  2. Étant donné que les bases de données sont par défaut en mode de récupération complète, prenez au moins une sauvegarde complète et 1 prenez une sauvegarde du journal de transaction.
  3. Réduire les fichiers journaux de toutes les bases de données sur la réplique principale. Cela tronquera les lecteurs de journaux vides sur toutes les répliques de disponibilité.
  4. Enfin, planifiez régulièrement un emploi pour prendre la sauvegarde appropriée. Cela vous gardera votre fichier journal de la bonne taille.

J'espère que cela aidera!

Dans le groupe de disponibilité, vous pouvez prendre la sauvegarde, la sauvegarde de T-BOG sur l'une des répliques et l'enregistrera sur toutes les répliques. Donc, à votre poser, prendre la sauvegarde de T-Log sur l'un ou l'autre serveur enregistrera sur les deux répliques faisant la réutilisable de T-Log sur les deux réplicas. Afin de minimiser la taille du fichier de journal de transaction, vous avez fréquemment la sauvegarde en T-Log en fonction de votre charge de travail. Si la sauvegarde T-Log horaire ne fonctionne pas (remplissant l'espace), vous devez évidemment le faire plus fréquemment.

0
Sajid