In SQL Server, un backup differenziale è un tipo di backup che cattura le modifiche/modifiche apportate a un database dall'ultimo backup completo.
Il backup differenziale scansiona il backup completo, noto anche come base del backup differenziale, e lo confronta con lo stato di database corrente. Quindi cattura i cambiamenti e li memorizza.
Un backup completo può funzionare come base per vari backup differenziali, inclusi backup del database, backup parziali e backup di file.
Vantaggi
Il vantaggio principale dei backup differenziali è la velocità. Inoltre, poiché il backup differenziale di backup solo le modifiche esistenti, riduce il tempo e lo spazio richiesti per eseguire il backup dei dati nel server.
Questo può, a sua volta, aiutare ad aumentare la frequenza in cui vengono emessi i backup in una determinata istanza del server SQL.
Un altro vantaggio dei backup differenziali è il numero di backup di registro che devi per ripristinare.
SQL Server Crea backup differenziale
Esistono due metodi principali che puoi utilizzare per creare un backup differenziale in SQL Server:
Illustriamo come usare ciascuno dei metodi sopra.
Database di esempio
Creiamo dati di esempio per acquisire al meglio l'uso e l'illustrazione dei backup differenziali.
Avvia il passaggio al database principale:
Usa il master;
Quindi, esegui le domande come previsto:
Drop database se esiste risolver;
creare resolver del database;
Usa il resolver;
Drop tabella se esistono voci;
Crea voci della tabella (
id int non null Identity (1,
1) Chiave primaria,
server_name varchar (50),
server_address varchar (255) non null,
compressione_method varchar (100) predefinito "nessuno",
size_on_disk float non null,
size_ float compresso,
total_records int non null,
Data init_date
);
inserire
in
Voci (server_name,
indirizzo del server,
metodo di compressione,
spazio sul disco,
size_compressed,
Total_Records,
init_date)
valori
('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');
Questo dovrebbe creare un nuovo database ed eseguire tutte le azioni definite sopra.
SQL Server Full Backup
Prima di acquisire un backup differenziale, dobbiamo prima fare un backup completo del database. Per semplicità, useremo un comando T-SQL per acquisire un backup completo del database.
Resolver del database di backup
A disk = 'c: \ Programmi \ Microsoft SQL Server \ MSSQL15.Mssqlserver \ mssql \ backup \ resolver.copia'
Con init,
Name = 'resolver db backup';
Apportare modifiche al database
Una volta acquisito il backup completo del database, dobbiamo apportare modifiche al database per acquisire un backup differenziale.
Possiamo farlo aggiungendo altri due record alla tabella delle voci:
inserire
in
Voci (server_name,
indirizzo del server,
metodo di compressione,
spazio sul disco,
size_compressed,
Total_Records,
init_date)
valori
("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');
Una volta applicate le modifiche, possiamo eseguire un backup differenziale.
Backup differenziale del server SQL - SSMS
Per eseguire un backup differenziale di un determinato database in SSMS, espandere la cartella Database e fare clic con il tasto destro del mouse sul database di destinazione.
Seleziona le attività -> Back up.
Nella finestra del database di backup, selezionare il tipo di backup come differenziale.
È possibile aggiungere i componenti target come file e filegroup, database, ecc. Nel nostro caso, dobbiamo eseguire un backup del database differenziale.
Infine, impostare il file di destinazione e fare clic su OK per elaborare il backup.
Una volta completato, dovresti vedere un messaggio di successo come:
SQL Server Differential Backup - T -SQL
Per prendere un backup differenziale di un determinato database utilizzando le istruzioni Transact-SQL:
Database del database di backup_name
Su disco = path_to_file
Con differenziale;
Esempio di utilizzo:
Resolver del database di backup
A disk = 'c: \ Programmi \ Microsoft SQL Server \ MSSQL15.Mssqlserver \ mssql \ backup \ resolver.diff '
Con differenziale;
Questo dovrebbe restituire i registri del processo di backup come:
104 pagine elaborate per il database "resolver", file "resolver" sul file 1.
2 pagine elaborate per il database "resolver", file "resolver_log" sul file 1.
Database di backup con differenziale elaborato correttamente 106 pagine in 0.016 secondi (51.513 MB/sec).
E il gioco è fatto.
Conclusione
Questo post mirava a presentarti a backup differenziali in SQL Server. Hai anche imparato a catturare backup completi e differenziali usando SSMS e T-SQL.
Speriamo di aver incontrato le tue aspettative.