W SQL Server różnicowy kopia zapasowa to rodzaj kopii zapasowej, który przechwytuje zmiany/modyfikacje wprowadzone w bazie danych od ostatniej pełnej kopii zapasowej.
Różnicowe kopie zapasowe skanuje pełną kopię zapasową, znaną również jako podstawa wsparcia różnicowego, i porównuje ją z bieżącym stanem bazy danych. Następnie przechwytuje zmiany i przechowuje.
Pełna kopia zapasowa może działać jako baza różnych zróżnicowanych kopii zapasowych, w tym kopii zapasowych bazy danych, częściowych kopii zapasowych i kopii zapasowych plików.
Zalety
Główną zaletą różnicowych kopii zapasowych jest prędkość. Ponadto, ponieważ różnicowe kopie zapasowe tworzą tylko istniejące zmiany, skraca czas i przestrzeń wymaganą do tworzenia kopii zapasowych danych na serwerze.
Może to z kolei pomóc zwiększyć częstotliwość, przy której wydawane są kopie zapasowe w danej instancji SQL Server.
Kolejną zaletą różnicowych kopii zapasowych jest liczba kopii zapasowych dziennika, które musisz przywrócić.
SQL Server Utwórz kopię zapasową różnicowej
Istnieją dwie główne metody, które można użyć do utworzenia zróżnicowanej kopii zapasowej na serwerze SQL:
Zilustrujmy, jak używać każdej z powyższych metod.
Przykładowa baza danych
Utwórzmy przykładowe dane, aby najlepiej uchwycić użycie i ilustrację kopii zapasowych różnicowych.
Rozpocznij przełączanie się na podstawową bazę danych:
Użyj Master;
Następnie uruchom zapytania zgodnie z dostarczonymi:
Zrzuć bazę danych, jeśli istnieje Resolver;
Utwórz Resolver bazy danych;
Użyj Resolver;
Stół zrzutu, jeśli istnieje wpisy;
Utwórz wpisy do tabeli (
Id int, a nie zerowa tożsamość (1,
1) Klucz podstawowy,
Server_name Varchar (50),
server_address varchar (255) nie null,
kompresja_method varchar (100) Domyślnie „Brak”,
size_on_disk float nie null,
size_Compressed Float,
total_records int not null,
data init_date
);
wstawić
do
Wpisy (nazwa_ serwerów,
adres serwera,
metoda kompresji,
rozmiar dysku,
size_Compressed,
Total_records,
init_date)
wartości
(„Mysql”, „Localhost: 3306”, „LZ77”, 90.66,40.04,560000, „2022-01-02”),
(„Redis”, „Localhost: 6307”, „Snappy”, 3.55 998.2100000, „2022-03-19”),
(„Postgresql”, „LocalHost: 5432”, „pGLZ”, 101.2,98.01,340000, „2022-11-11”),
(„ElasticSearch”, „Localhost: 9200”, „LZ4”, 333.2300.21200000, „2022-10-08”);
Powinno to utworzyć nową bazę danych i wykonać wszystkie określone powyżej działania.
SQL Server Pełna kopia zapasowa
Przed uchwyceniem zróżnicowanej kopii zapasowej musimy najpierw wziąć pełną kopię zapasową bazy danych. Dla uproszczenia użyjemy polecenia T-SQL do przechwytywania pełnej kopii zapasowej bazy danych.
Baza danych kopii zapasowej Resolver
Do DISK = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL15.Mssqlserver \ mssql \ backup \ resolver.Kopiuj'
Z init,
Name = „Resolver DB Backup”;
Dokonaj zmian w bazie danych
Po uchwyceniu pełnej kopii zapasowej bazy danych musimy wprowadzić zmiany w bazie danych, aby uchwycić kopię zapasową różnicową.
Możemy to zrobić, dodając jeszcze dwa rekordy do tabeli wpisów:
wstawić
do
Wpisy (nazwa_ serwerów,
adres serwera,
metoda kompresji,
rozmiar dysku,
size_Compressed,
Total_records,
init_date)
wartości
(„MongoDB”, „Localhost: 27017”, „Snappy”, 4.55,4.10 620000, „2021-12-12”),
(„Apache Cassandra”, „Localhost: 9042”, „Zstd”, 300.3200.12 10000000, „2020-03-21”);
Po zastosowaniu zmian możemy uruchomić zróżnicowaną kopię zapasową.
Kopia zapasowa różnicowego SQL Server - SSMS
Aby wykonać zróżnicowaną kopię zapasową danej bazy danych w SSM, rozwinąć folder bazy danych i kliknij prawym przyciskiem myszy docelową bazę danych.
Wybierz zadania ->.
W oknie kopii zapasowej bazy danych wybierz typ kopii zapasowej jako różnicowy.
Możesz dodać docelowe komponenty, takie jak pliki i grupy plików, bazy danych itp. W naszym przypadku musimy wziąć udział w tworzeniu kopii zapasowej bazy danych.
Na koniec ustaw docelowy plik i kliknij OK, aby przetworzyć kopię zapasową.
Po zakończeniu powinieneś zobaczyć wiadomość sukcesu jako:
SQL Server Różnicowa kopia zapasowa - polecenie T -SQL
Aby wykonać zróżnicowane kopie zapasowe danej bazy danych za pomocą instrukcji Transact-SQL:
Nazwa_namii bazy danych kopii zapasowej bazy danych
Na dysk = Path_To_file
Z różnicą;
Przykładowe użycie:
Baza danych kopii zapasowej Resolver
Do DISK = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL15.Mssqlserver \ mssql \ backup \ resolver.różnica '
Z różnicą;
Powinno to zwrócić dzienniki procesu kopii zapasowej jako:
Przetworzone 104 strony dla bazy danych „RESPINVER”, PLIK „REZYDACJA” w pliku 1.
Przetworzone 2 strony dla bazy danych „RESPOID”, Plik „Resolver_log” w pliku 1.
Baza danych kopii zapasowej z różnicą pomyślnie przetworzoną 106 stron w 0.016 sekund (51.513 MB/s).
I masz to.
Wniosek
Ten post miał na celu przedstawienie Ci różnicowych kopii zapasowych w SQL Server. Nauczyłeś się również, jak przechwytywać pełne i zróżnicowane kopie zapasowe za pomocą SSMS i T-SQL.
Mamy nadzieję, że spełniliśmy twoje oczekiwania.