Sauvegarde différentielle SQL Server

Sauvegarde différentielle SQL Server

Dans SQL Server, une sauvegarde différentielle est un type de sauvegarde qui capture les modifications / modifications apportées à une base de données depuis la dernière sauvegarde complète.

La sauvegarde différentielle scanne la sauvegarde complète, également connue sous le nom de base de la sauvegarde différentielle, et la compare à l'état actuel de la base de données. Il capture ensuite les changements et les stocke.

Une sauvegarde complète peut fonctionner comme base pour diverses sauvegardes différentielles, y compris les sauvegardes de base de données, les sauvegardes partielles et les sauvegardes de fichiers.

Avantages

Le principal avantage des sauvegardes différentielles est la vitesse. De plus, comme la sauvegarde différentielle sauvegarde uniquement les modifications existantes, cela réduit le temps et l'espace requis pour sauvegarder les données du serveur.

Cela peut, à son tour, aider à augmenter la fréquence à laquelle les sauvegardes dans une instance SQL Server donnée sont émises.

Un autre avantage des sauvegardes différentielles est le nombre de sauvegardes de journal que vous devez restaurer.

SQL Server créent une sauvegarde différentielle

Il existe deux méthodes principales que vous pouvez utiliser pour créer une sauvegarde différentielle dans SQL Server:

    1. Utilisation de SQL Server Management Studio - Graphique
    2. Utilisation de commandes T-SQL

Illustrons comment utiliser chacune des méthodes ci-dessus.

Exemple de base de données

Créons les exemples de données pour capturer au mieux l'utilisation et l'illustration des sauvegardes différentielles.

Commencez à passer à la base de données maître:

Utilisez Master;


Ensuite, exécutez les requêtes comme indiqué:

Drop Base de données s'il existe un résolveur;
Créer un résolveur de base de données;
Utiliser Resolver;
Tableau de dépôt si existe des entrées;
Créer des entrées de table (
id int not null identité (1,
1) Clé primaire,
server_name varchar (50),
server_address varchar (255) pas null,
compression_method varchar (100) par défaut «Aucun»,
size_on_disk float pas nul,
Float de taille_compressée,
total_records int not null,
Init_Date Date
));
insérer
dans
Entrées (server_name,
adresse du serveur,
méthode de compression,
taille sur le disque,
size_compressed,
total_records,
init_date)
valeurs
(«Mysql», «LocalHost: 3306», «lz77», 90.66,40.04 560000, '2022-01-02'),
(«Redis», «localhost: 6307», «Snappy», 3.55 998.2 100000, «2022-03-19»),
('Postgresql', 'LocalHost: 5432', 'PGLZ', 101.2,98.01 340000, '2022-11-11'),
(«Elasticsearch», «LocalHost: 9200», «lz4», 333.2 300.2 1200000, «2022-10-08»);


Cela devrait créer une nouvelle base de données et effectuer toutes les actions définies ci-dessus.

SQL Server Sauvegarde complète

Avant de capturer une sauvegarde différentielle, nous devons d'abord prendre une sauvegarde complète de la base de données. Pour plus de simplicité, nous utiliserons une commande T-SQL pour capturer une sauvegarde complète de la base de données.

Resolver de base de données de sauvegarde
À disque = 'c: \ Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ MSSQL \ BACKUP \ RESOLVER.copie'
À L'INTÉRIEUR,
Name = 'Resolver DB Backup';

Apporter des modifications à la base de données

Une fois que nous avons capturé la sauvegarde complète de la base de données, nous devons apporter des modifications à la base de données pour capturer une sauvegarde différentielle.

Nous pouvons le faire en ajoutant deux autres enregistrements à la table des entrées:

insérer
dans
Entrées (server_name,
adresse du serveur,
méthode de compression,
taille sur le disque,
size_compressed,
total_records,
init_date)
valeurs
(«MongoDB», «LocalHost: 27017», «Snappy», 4.55,4.10 620000, «2021-12-12»),
('Apache Cassandra', 'LocalHost: 9042', 'ZSTD', 300.3 200.12 10000000, «2020-03-21»);


Une fois les modifications appliquées, nous pouvons exécuter une sauvegarde différentielle.

SQUILLE SQLER SERVICULATION - SSMS

Pour prendre une sauvegarde différentielle d'une base de données donnée dans SSMS, développez le dossier des bases de données et cliquez avec le bouton droit sur la base de données cible.

Sélectionnez des tâches -> sauvegarder.


Dans la fenêtre Back Up Database, sélectionnez le type de sauvegarde comme différentiel.


Vous pouvez ajouter les composants cibles tels que les fichiers et les groupes de fichiers, les bases de données, etc. Dans notre cas, nous devons prendre une sauvegarde de la base de données différentielle.

Enfin, définissez le fichier cible et cliquez sur OK pour traiter la sauvegarde.

Une fois terminé, vous devriez voir un message de réussite comme:

SQLER SERVER SAUVERATION DU MONTAGE - COMMANDE T-SQL

Pour prendre une sauvegarde différentielle d'une base de données donnée à l'aide d'instructions Transact-SQL:

Base de sauvegarde de la base de données Database_NAME
À disque = path_to_file
Avec différentiel;


Exemple d'utilisation:

Resolver de base de données de sauvegarde
À disque = 'c: \ Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ MSSQL \ BACKUP \ RESOLVER.diff '
Avec différentiel;


Cela devrait renvoyer les journaux de processus de sauvegarde comme:

Traité 104 pages pour la base de données «Resolver», fichier «Resolver» sur le fichier 1.
Traité 2 pages pour la base de données 'Resolver', fichier 'Resolver_log' sur le fichier 1.
Base de données de sauvegarde avec différentiel traité avec succès 106 pages en 0.016 secondes (51.513 Mb / sec).


Et voila.

Conclusion

Cet article visait à vous présenter des sauvegardes différentielles dans SQL Server. Vous avez également appris à capturer des sauvegardes complètes et différentielles en utilisant SSMS et T-SQL.

Nous espérons que nous avons répondu à vos attentes.