Techniki wykonywania kopii zapasowych i odzyskiwania baz danych SQL
Microsoft SQL Server to profesjonalny system zarządzania służący do przetwarzania danych oraz komunikacji z relacyjnymi bazami danych. Dla wielu organizacji baza danych stanowi zazwyczaj kluczowy element infrastruktury informatycznej lub projektu biznesowego. Z tego powodu tworzenie kopii zapasowych baz danych SQL ma zasadnicze znaczenie dla uniknięcia utraty danych i przestojów w działaniu kluczowych usług.
W tym wpisie na blogu wyjaśniono, jak wykonać kopię zapasową serwera Microsoft SQL Server przy użyciu różnych metod, w tym narzędzi natywnych, a następnie przywrócić dane z bazy danych.
Rodzaje kopii zapasowych w programie SQL Server
W programie Microsoft SQL Server kopie zapasowe mają kluczowe znaczenie dla ochrony danych i zapewnienia możliwości odzyskania informacji w przypadku utraty danych, awarii sprzętu lub innych sytuacji awaryjnych. Program SQL Server obsługuje kilka rodzajów kopii zapasowych, z których każdy służy konkretnemu celowi. Główne rodzaje kopii zapasowych w MS SQL Server to:
- Kopia zapasowa pełna
- Kopia zapasowa różnicowa
- Kopia zapasowa dziennika transakcji
- Kopia zapasowa plików
- Kopia zapasowa tylko do kopiowania
Kopia zapasowa pełna
Pełna kopia zapasowa SQL Server tworzy kopię całej bazy danych MS SQL. Jest to najprostszy i najbardziej bezpośredni rodzaj kopii zapasowej, ponieważ obejmuje wszystkie obiekty i dane dostępne w relacyjnej bazie danych. Inne rodzaje kopii zapasowych Microsoft SQL Server wykorzystują kopię zapasową pełną jako podstawę dla każdego innego rodzaju kopii zapasowej.
Pełna kopia zapasowa SQL stanowi pełną kopię zawierającą wszystkie elementy bazy danych, takie jak tabele, procedury, funkcje, widoki, indeksy i inne. Ponadto obejmuje ona część dziennika transakcji. Ułatwia to odzyskiwanie bazy danych, zapewniając jej dokładne odtworzenie do stanu z momentu wykonania kopii zapasowej.
Takie podejście zapewnia najprostszą formę odzyskiwania bazy danych, ponieważ cała jej zawartość znajduje się w jednej kopii zapasowej.
Główne cechy pełnej kopii zapasowej SQL Server to:
- Pełna kopia zapasowa obejmuje całą bazę danych, w tym wszystkie dane i obiekty.
- Jest to najbardziej kompleksowy rodzaj kopii zapasowej i stanowi podstawę dla innych rodzajów kopii zapasowych.
- Pełne kopie zapasowe są niezbędne do całkowitego przywrócenia bazy danych.
Kopia różnicowa
Kopia różnicowa w SQL Server selektywnie przechwytuje dane obszarów bazy danych zmienionych od ostatniej pełnej kopii zapasowej, wykorzystując pełną kopię zapasową jako punkt wyjścia. Ten typ kopii zapasowej obejmuje zmiany w obiektach schematu, plikach dziennika i innych danych, optymalizując czas i wydajność pamięci masowej, jednocześnie zapewniając wykonanie kopii zapasowej wszystkich zmian na serwerze. Do oznaczenia zmienionych obszarów w kopii różnicowej używane są specjalne flagi.
Różnicowa kopia zapasowa bazy danych przedstawia skumulowane zmiany od ostatniej pełnej kopii zapasowej, co może skutkować niewielkim lub znacznym rozmiarem w zależności od ostatniego wolumenu transakcji.
Ponieważ kopia różnicowa nie obejmuje wszystkich elementów, jej wykonanie jest zazwyczaj szybsze niż w przypadku pełnej kopii zapasowej. Replika różnicowa bazy danych, rejestrująca stan zmienionych obiektów bazy danych w momencie utworzenia, zawiera inne dane w każdej kolejnej replice, gdy tworzy się serię replik różnicowych dla często aktualizowanej bazy danych.
Ponieważ rozmiar tych kopii zapasowych rośnie, przywrócenie kopii zapasowej różnicowej może znacznie wydłużyć czas potrzebny na odzyskiwanie danych. W związku z tym zaleca się okresowe uruchamianie nowej pełnej kopii zapasowej w ustalonych odstępach czasu, aby stworzyć nową bazę dla danych w replikach różnicowych.
Podsumowując, główne cechy kopii różnicowej SQL Server to:
- Kopia różnicowa rejestruje tylko zmiany wprowadzone w bazie danych od ostatniej pełnej kopii zapasowej.
- Obejmuje ona wszystkie zmiany wprowadzone w bazie danych od ostatniej pełnej kopii zapasowej, a nie tylko zmiany wprowadzone od ostatniej kopii różnicowej.
- Kopie różnicowe mogą skrócić czas potrzebny do przywrócenia bazy danych w porównaniu z przywracaniem wyłącznie z kopii pełnych.
Dowiedz się więcej o kopie zapasowe pełne, różnicowe i przyrostowe , aby lepiej zrozumieć różnice między nimi.
Kopia zapasowa dziennika transakcji
Kopia zapasowa dziennika transakcji w Microsoft SQL Server obejmuje wszystkie transakcje, które miały miejsce od ostatniej kopii zapasowej dziennika transakcji, ułatwiając przywrócenie bazy danych do określonego punktu w czasie. Jak sama nazwa wskazuje, kopia zapasowa dziennika koncentruje się na wykonywaniu kopii zapasowych dzienników transakcji i ma zastosowanie wyłącznie do modeli pełnego odzyskiwania lub z rejestrowaniem zbiorczym. Pliki dziennika transakcji zawierają serię wpisów dokumentujących historię modyfikacji danych w bazie danych. Kopia zapasowa dziennika transakcji obejmuje wszystkie rekordy dziennika, które nie zostały uwzględnione w poprzedniej kopii zapasowej dziennika transakcji.
Zasadniczo kopia zapasowa dziennika transakcji obejmuje wszystkie zmiany wprowadzone w bazie danych, co jest szczególnie istotne w przypadku stosowania modelu pełnego odzyskiwania lub z rejestrowaniem zbiorczym w celu skrócenia dziennika. Warto wiedzieć, że kolejne kopie zapasowe dziennika transakcji nie powodują duplikowania danych, a wydajność pozostaje niezmieniona podczas wykonywania kopii zapasowej dziennika transakcji. Dzięki temu operację tę można przeprowadzić nawet w okresach dużego obciążenia.
Główne funkcje kopii zapasowych dziennika transakcji w Microsoft SQL Server to:
- Kopie zapasowe dziennika transakcji rejestrują zmiany w dzienniku transakcji, które miały miejsce od ostatniej kopii zapasowej dziennika.
- Umożliwiają one odtworzenie stanu z określonego momentu i mają kluczowe znaczenie dla zachowania spójności danych.
- Stosowane w połączeniu z kopią pełną i różnicową w celu stworzenia kompleksowej strategii tworzenia kopii zapasowych.
Kopia zapasowa plików i grup plików
Kopia zapasowa plików pozwala na niezależne wykonywanie kopii zapasowej każdego pliku, zamiast wymagać wykonywania kopii zapasowej całej bazy danych. Ma to zastosowanie, gdy dla bazy danych utworzono wiele plików danych.
Jednym ze scenariuszy uzasadniających ten typ kopii zapasowej jest sytuacja, w której mamy do czynienia z wyjątkowo dużymi plikami, które wymagają szczególnej uwagi pod względem wykonywania kopii zapasowej. Wykonanie kopii zapasowej plików można przeprowadzić za pomocą T-SQL lub SSMS. Jeśli jednak baza danych składa się głównie z jednego pliku danych, ta opcja może nie być odpowiednia.
Główne funkcje kopii zapasowej plików MS SQL to:
- Ten typ kopii zapasowej pozwala na wykonywanie kopii poszczególnych plików bazy danych lub grup plików.
- Przydatne, gdy trzeba selektywnie wykonać kopię zapasową określonych części bazy danych.
- Można również używać kopii zapasowych plików/grup plików do przywracania fragmentów danych.
Kopia zapasowa typu „tylko kopia”
Kopia zapasowa typu „tylko kopia” dla serwera MS SQL działa niezależnie od konwencjonalnej sekwencji tworzenia kopii zapasowych, tworząc kopię zapasową bez wpływu na oryginalne kopie zapasowe, sekwencje tworzenia kopii zapasowych lub procesy przywracania. Kopia zapasowa typu „tylko kopia” jest przydatna do eksperymentowania ze zmianami w archiwizowanych informacjach bez wpływu na główny zestaw danych, umożliwiając tworzenie kopii zapasowej bez zakłócania ogólnych protokołów tworzenia kopii zapasowych i przywracania bazy danych. Należy pamiętać, że kopii zapasowej typu „tylko kopia” (dla kopii pełnych) nie można używać do tworzenia kopii różnicowych.
Główną zaletą kopii zapasowej typu „tylko kopia” jest to, że nie zakłóca ona regularnej sekwencji tworzenia kopii zapasowych ani standardowych procesów przywracania. Zazwyczaj większość metod tworzenia kopii zapasowych MS SQL Server ma wpływ na bazę danych i procedury przywracania. Korzystając z kopii zapasowych typu „tylko kopia”, zespoły IT mogą tworzyć kopie zapasowe, które pozostają niezależne od oryginalnych kopii zapasowych i procesów przywracania. Należy pamiętać, że kopie zapasowe typu „tylko kopia” nie pozwalają na centralne rejestrowanie historii kopii zapasowych.
O ile nie używa się kopii typu „tylko kopia” do pełnej kopii zapasowej, może to wpłynąć na kolejną kopię różnicową. Kluczowa różnica między kopią pełną a kopią typu „tylko kopia” polega na tym, że ta druga nie przerywa łańcucha różnicowego. Co ważne, żadna z tych metod nie zakłóca ciągłości dziennika, ponieważ żadna z nich nie powoduje obcinania pliku dziennika.
Jeśli chodzi o kopie zapasowe dzienników, mające zastosowanie w modelach pełnego i zbiorczego odzyskiwania, celem kopii zapasowej dziennika typu „copy-only” jest uchwycenie istniejącego punktu odzyskiwania dziennika. Chociaż kopia zapasowa dziennika typu „copy-only” jest rzadko stosowana, w niektórych sytuacjach może okazać się pomocna przy przywracaniu danych w trybie online.
Główne funkcje kopii zapasowej MS SQL typu „copy-only” to:
- Kopia zapasowa typu „copy-only” nie wpływa na normalną sekwencję wykonywania kopii zapasowych. Jest to dodatkowa kopia zapasowa wykonywana niezależnie od regularnego łańcucha kopii zapasowych.
- Przydatna do wykonywania kopii zapasowych do konkretnych celów bez zakłócania ustalonej strategii wykonywania kopii zapasowych.
Wszystkie te typy kopii zapasowych Microsoft SQL Server można łączyć, aby stworzyć kompleksową strategię wykonywania kopii zapasowych, która spełnia konkretne wymagania środowiska SQL Server. Regularne testowanie i walidacja procedury wykonywania kopii zapasowych i przywracania danych są również istotnymi elementami solidnego strategia ochrony danych.
Jak wykonać kopię zapasową bazy danych SQL
Istnieje kilka metod wykonywania kopii zapasowej bazy danych MS SQL przy użyciu natywnych narzędzi Microsoft:
MS SQL Server Management Studio (SSMS)to bezpłatne narzędzie natywne z przyjaznym dla użytkownika interfejsem graficznym. SSMS należy zainstalować ręcznie na tym samym serwerze lub komputerze zdalnym, na którym zainstalowano SQL Server.Transaction SQL (T-SQL)polecenia służą do zarządzania serwerem MS SQL Server, w tym do operacji wykonywania kopii zapasowych i przywracania baz danych.sqlcmdjest narzędziem w wierszu poleceń systemu Windows (cmd), które pozwala na uruchamianie poleceń T-SQL na serwerze SQL Server.- PowerShell jest zaawansowanym środowiskiem wiersza poleceń w systemie Windows, które obsługuje zarządzanie serwerem SQL Server po zainstalowaniu modułu PowerShell
SqlServer.
Tworzenie kopii zapasowej w programie MS SQL Server Management Studio
Aby wykonać kopię zapasową bazy danych serwera SQL Server, wykonaj następujące czynności:
- Otwórz program MS SQL Server Management Studio (SSMS) i zaloguj się do SSMS przy użyciu konta administratora.
- W
Object Explorer, znajdującym się po prawej stronie okna SSMS, przejdź doDatabasesi kliknij prawym przyciskiem myszy nazwę bazy danych, której kopię zapasową chcesz wykonać. W tym przykładzie jako bazę danych używamyAdventureWorks2022. - W menu kontekstowym kliknij
Tasks > Backup.
- Ustaw parametry w oknie
Back Up Database.- Źródło:
- Baza danych:
AdventureWorks2022 - Typ kopii zapasowej: Wybierz
FulllubDifferential(najpierw musisz wykonać pełną kopię zapasową). - Komponent kopii zapasowej:
Database
- Baza danych:
- Miejsce docelowe:
- Kopia zapasowa na:
Disklub adres URL (wybierz dysk)
- Kopia zapasowa na:
- Odznacz pole wyboru
Copy-only„Kopia zapasowa”, jeśli nie chcesz wykonać kopii zapasowej przeznaczonej wyłącznie do kopiowania.
UWAGA : Możesz edytować ustawienia, jeśli chcesz wykonać kopię zapasową innego typu.
Domyślnie wybierana jest ścieżka ustawiona w ogólnych właściwościach serwera bazy danych MS SQL. Możesz zmienić domyślną ścieżkę w ustawieniach globalnych – kliknij prawym przyciskiem myszy nazwę serwera MS SQL w Eksploratorze obiektów, kliknij
Properties, wybierz stronęDatabase Settingsi wyświetl/edytujDatabase default locations. - Źródło:
- Kliknij
Add, aby wybrać niestandardową lokalizację docelową dla bieżącego zadania wykonywania kopii zapasowej MS SQL, a następnie wybierzDelete, aby odpowiednio usunąć niepotrzebną lokalizację. W tym przykładzie wybieramy"D:MS SQL Backup DBAdventureWorks".UWAGA : Aby wykonać kopię zapasową, użyj dysku innego niż ten, na którym znajduje się oryginalna baza danych. Zaleca się przestrzeganie Zasada tworzenia kopii zapasowej 3-2-1 w celu zapewnienia solidnej strategii ochrony danych. Można również odpowiednio skonfigurować zachowanie nadpisywania i kompresję w opcjach nośników i opcjach tworzenia kopii zapasowych. Przycisk Skrypt tworzy skrypt T-SQL na podstawie wybranych ustawień.

- Nie zapomnij wprowadzić nazwy pliku kopii zapasowej. Należy pamiętać, że kopie różnicowe mogą mieć rozszerzenie pliku
.dif.
- Aby kontynuować, należy kliknąć
OKw każdym oknie.
Jeśli wszystko jest poprawne, powinien pojawić się komunikat: The backup of database "AdventureWorks2022" completed successfully.
Harmonogram tworzenia kopii zapasowych Microsoft SQL w SSMS
Można zautomatyzować tworzenie kopii zapasowych bazy danych MS SQL i zaplanować zadania tworzenia kopii zapasowych. Aby zaplanować tworzenie kopii zapasowych bazy danych, należy wykonać następujące kroki w programie Microsoft SQL Server Management Studio.
- W
Object Explorerprzejdź doManagement, kliknij prawym przyciskiem myszyMaintenance Plansi kliknijNew Maintenance Plan. - Wprowadź nazwę nowego planu konserwacji, na przykład
MS SQL Backup Plan. KliknijOK.
- Kliknij ikonę
Calendar(Harmonogram podplanu), aby skonfigurować harmonogram tworzenia kopii zapasowej MS SQL.
- Wybierz potrzebne opcje harmonogramu tworzenia kopii zapasowej MS SQL:
- Typ harmonogramu: Powtarzający się (domyślnie)
- Częstotliwość
- Codziennie Częstotliwość
- Czas trwania
Kliknij
OK, aby zapisać ustawienia.
- Kliknij
ToolBoxw lewym górnym rogu interfejsu SSMS.
- Przeciągnij
Back Up Database TaskzToolboxdo pustego obszaru zakładkiMS SQL Backup Plan [Design]. - Kliknij dwukrotnie
Back Up Database Task, który właśnie przeciągnąłeś i upuściłeś w zakładceMS SQL Backup Plan [Design].
- Otworzy się okno opcji
Back Up Database Task. Wybierz typ połączenia, np.Local server connection. - Skonfiguruj niezbędne ustawienia w zakładkach
General, Destination, Options:- Typ kopii zapasowej:
FulllubDifferential - Bazy danych:
Specific databases, all databases, system databaseslubAll user databases. - Kopia zapasowa do:
Disk

Opcje w zakładkach
DestinationiOptionssą przedstawione na poniższym zrzucie ekranu.Kliknij
OK, aby zapisać ustawienia zaplanowanego zadania wykonywania kopii zapasowej bazy danych MS SQL.
- Typ kopii zapasowej:
- Możesz kliknąć
View T-SQL, aby wyświetlić polecenia, których można użyć w języku T-SQL do uruchomienia zadania utworzonego w graficznym interfejsie użytkownika programu SSMS.
- Naciśnij
Ctrl+S, aby zapisać zmiany w programie SSMS. - Naciśnij
F5, aby odświeżyć wyświetlane elementy w programie SSMS. - Przejdź do
SQL Server Agent > Jobsw Eksploratorze obiektów. Możesz otworzyćJob Activity Monitori wyświetlićMS SQL Backup Plan.Sublanna liście zadań.
- Odśwież stronę, klikając prawym przyciskiem myszy
Jobslub inny obiekt i wybierającRefresh. W Eksploratorze obiektów przejdź doSQL Server Agent > Jobs, wybierzMS SQL Backup Plan.Subplan, kliknij ten obiekt prawym przyciskiem myszy i wybierzStart Job at Step, aby uruchomić zaplanowane zadanie tworzenia kopii zapasowej w tej chwili.
Alternatywnie możesz utworzyć zaplanowane zadanie tworzenia kopii zapasowej MS SQL, przechodząc do
Object Explorer > Management > New Maintenance Plan. Dostępne są te same opcje, ale musisz przejść przez wszystkie kroki.
Kopia zapasowa MS SQL w T-SQL
Użyj następujących głównych poleceń, aby wykonać kopię zapasową bazy danych MS SQL w T-SQL dla każdego typu kopii zapasowej:
- Kopia zapasowa pełna:
BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Full.bak';Zastąp
YourDatabaseNamenazwą swojej bazy danych i określ żądaną ścieżkę do pliku kopii zapasowej (użyj innego dysku, nie dysku systemowego (C:) ani dysku z oryginalną bazą danych). - Kopia różnicowa:
BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH DIFFERENTIAL;Przed wykonaniem kopii różnicowej upewnij się, że wykonano wcześniej kopię pełną.
- Kopia dziennika transakcji:
BACKUP LOG YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Log.bak';Kopie dziennika transakcji mają kluczowe znaczenie dla odzyskiwania danych z określonego momentu oraz zachowania spójności danych.
- Kopia pliku:
BACKUP DATABASE YourDatabaseName FILE = 'LogicalFileName' TO DISK = 'C:BackupYourDatabaseName_File.bak';Zastąp
LogicalFileNamelogiczną nazwą pliku lub grupy plików, których kopię chcesz wykonać. - Kopia tylko do kopiowania:
BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH COPY_ONLY;Kopie zapasowe typu „tylko kopiowanie” nie zakłócają normalnego przebiegu wykonywania kopii zapasowej.
W powyższych przykładach wyjaśniliśmy podstawowe polecenia. Możesz skorzystać z dodatkowe parametry w celu dostosowania zaawansowanych ustawień wykonywania kopii zapasowej w poleceniach T-SQL. Poniżej znajduje się kilka przykładów skryptów T-SQL do wykonywania kopii zapasowej w Microsoft SQL Server z zaawansowanymi opcjami, w tym kompresją:
- Pełna kopia zapasowa z kompresją:
-- Full Backup with CompressionBACKUP DATABASE YourDatabaseNameTO DISK = 'C:BackupYourDatabaseName_Full.bak'WITH COMPRESSION, INIT;Gdzie:
YourDatabaseNamenależy zastąpić nazwą własnej bazy danych.C:BackupYourDatabaseName_Full.bakto ścieżka i nazwa pliku kopii zapasowej, które należy zmienić w danym przypadku.WITH COMPRESSIONto opcja umożliwiająca kompresję w celu zmniejszenia rozmiaru kopii zapasowej.INITto opcja inicjująca nowy zestaw nośników.--określa początek komentarza - Pełna kopia zapasowa z różnymi opcjami:
-- Full Backup with various optionsBACKUP DATABASE YourDatabaseNameTO DISK = 'C:BackupYourDatabaseName_Full.bak'WITHFORMAT,– Nadpisuje istniejący zestaw nośnikówNAME = 'FullBackup',– Określa nazwę zestawu kopii zapasowejSTATS = 10,– Wyświetla komunikat co 10 procent postępuCHECKSUM,– Sprawdza integralność kopii zapasowejCOMPRESSION,– Włącza kompresjęINIT;– Inicjuje nowy zestaw nośników - Kopia zapasowa dziennika transakcji:
-- Transaction Log BackupBACKUP LOG YourDatabaseNameTO DISK = 'C:BackupYourDatabaseName_LogBackup.trn'WITHFORMAT,– Nadpisuje istniejący zestaw nośnikówNAME = 'LogBackup',– Określa nazwę zestawu kopii zapasowejSTATS = 10,– Wyświetla komunikat co 10 procent postępuINIT;– Inicjuje nowy zestaw nośników - Kopia zapasowa do wielu plików:
-- Full Backup to Multiple FilesBACKUP DATABASE YourDatabaseNameTODISK = 'C:BackupYourDatabaseName_Full1.bak',DISK = 'C:BackupYourDatabaseName_Full2.bak'WITH INIT;
Te przykłady pokazują różne zaawansowane opcje, takie jak formatowanie zestawu nośników, określanie nazw zestawów kopii zapasowych, wyświetlanie statystyk postępu i weryfikacja sumy kontrolnej. Możesz dostosować te przykładowe skrypty do swoich konkretnych wymagań i preferencji.
Kopia zapasowa tabeli MS SQL
Aby wykonać kopię zapasową określonej tabeli w programie Microsoft SQL Server, można użyć funkcji Generate Scripts w programie MS SQL Server Management Studio (SSMS) w celu utworzenia skryptu kopii zapasowej schematu i danych tabeli lub skorzystać z narzędzia bcp (Bulk Copy Program). W przypadku obu metod należy wykonać poniższe czynności.
Metoda 1: Generowanie skryptów w SSMS
Aby wygenerować skrypt T-SQL i wykonać kopię zapasową określonej tabeli bazy danych MS SQL, wykonaj następujące czynności:
- Uruchom program MS SQL Server Management Studio i połącz się z instancją serwera MS SQL Server.
- Przejdź do bazy danych w
Object Exploreri kliknij prawym przyciskiem myszy nazwę bazy danych. W menu kontekstowym wybierz opcjęTasks > Generate Scripts.
- Zapoznaj się z poradami w kroku
IntroductionkreatoraGenerate Scripts. Możesz zaznaczyć pole wyboruDo not show this page again. Na każdym kroku kreatora klikaj przyciskNext, aby kontynuować. - W kroku
Choose Objectskliknij przyciskSelect specific database objects. Wybierz tabele, których kopię zapasową chcesz wykonać. W tym przykładzie wybieramy tabelęPerson.Addressz bazy danych, aby wykonać kopię zapasową.
- W kroku
Set Scripting Optionsokreśl, w jaki sposób skrypty mają być zapisane. WybierzSave as script filei wybierzSingle script file. Wprowadź nazwę pliku kopii zapasowej w odpowiednim folderze. Kliknij…, aby wybrać folder i wprowadź nazwę kopii zapasowej tabeli MS SQL.
- Kliknij
Advancedi w otwartym oknieAdvanced Scripting OptionsustawTypes of data to script = Schema and data. KliknijOK, aby zapisać ustawienia i zamknąć okno. Następnie przejdź do kolejnego kroku kreatora.
- Sprawdź podsumowanie konfiguracji i przejdź do ostatniego kroku tworzenia kopii zapasowej tabeli bazy danych.

- W kroku
Save Scriptsmożesz śledzić postęp tworzenia kopii zapasowej. Poczekaj, aż proces wykonania kopii zapasowej bazy danych MS SQL się zakończy.
- Otwórz Eksploratora Windows i znajdź utworzony plik kopii zapasowej tabeli MS SQL w wybranym katalogu docelowym. W tym przykładzie mamy plik
MS_SQL_Table_Backup.sql.
- Kliknij dwukrotnie plik
MS_SQL_Table_Backup.sqli otwórz ten plik skryptu SQL w SSMS. Zmień nazwę bazy danych w pierwszym wierszu, aby spełnić wymagania swojego środowiska.
- Kliknij
Execute, aby uruchomić skrypt tworzenia kopii zapasowej tabeli MS SQL.
Metoda 2: Użyj bcp (Bulk Copy Program)
Użyj poniższego schematu postępowania, aby wykonać kopię zapasową tabeli MS SQL za pomocą bcp:
- Otwórz wiersz poleceń (naciśnij
Win+R, wpiszcmdi naciśnijEnter) w systemie Windows z uprawnieniami administratora. - Przejdź do pliku wykonywalnego narzędzia
bcpw katalogu instalacyjnym MS SQL Server (160 jest używane dla MS SQL Server 2022). Na przykład:cd C:Program FilesMicrosoft SQL Server160ToolsBinn - Uruchom polecenie
bcp, aby wyeksportować dane tabeli do pliku. Zastąp<DatabaseName>, <SchemaName>, <TableName>i<OutputFilePath>rzeczywistą nazwą bazy danych, schematem, tabelą oraz żądaną ścieżką pliku wyjściowego.bcp. . out -c -S -T Gdzie:
-c– określa dane znakowe (niebędące danymi Unicode), które mają zostać skopiowane.-S– określa nazwę serwera. -T– wykorzystuje połączenie zaufane (uwierzytelnianie systemu Windows). - Sprawdź podany plik wyjściowy pod kątem wyeksportowanych danych.
Jak przywrócić bazę danych SQL Server
Podczas korzystania z natywnych narzędzi Microsoft do tworzenia kopii zapasowych baz danych MS SQL, kopie te są zazwyczaj zapisywane jako .bak pliki. Aby otworzyć plik .bak , należy zazwyczaj użyć MS SQL Server Management Studio (SSMS), narzędzia dostarczanego przez Microsoft do zarządzania bazami danych MS SQL Server. Przywróć dane z wykonanej kopii zapasowej do normalnego stanu. Dopiero wtedy można otworzyć dane.
UWAGA : Możesz skopiować plik backupname.bak , zmienić nazwę skopiowanego pliku backupname.bak na backupname.xls i otworzyć plik .xls w programie Microsoft Excel, jeśli chcesz wyświetlić dane z kopii zapasowej, ale nie masz w danej chwili zainstalowanego programu MS SQL Server. Skopiowanie pliku zapobiega uszkodzeniu głównego pliku kopii zapasowej, jeśli coś pójdzie nie tak.
Przywracanie bazy danych MS SQL w SSMS
Pamiętaj, że do przywrócenia bazy danych potrzebne są odpowiednie uprawnienia, a instancja MS SQL Server powinna mieć dostęp do pliku .bak .
Aby przywrócić bazę danych MS SQL Server w MS SQL Server Management Studio z pliku kopii zapasowej, wykonaj następujące czynności:
- Zaloguj się do MS SQL Server w SSMS przy użyciu konta administratora.
- Kliknij prawym przyciskiem myszy
DatabaseswObject Exploreri kliknijRestore Databasew menu kontekstowym.
- W oknie
Restore DatabasewybierzDevice, aby przywrócić bazę danych MS SQL z pliku.baki kliknij przycisk…, aby wybrać plik.bak.
- Wybierz
Filejako typ nośnika kopii zapasowej i kliknijAdd.
- Znajdź plik kopii zapasowej. Domyślnie w oknie wyświetlany jest domyślny katalog kopii zapasowych. Przejdź do odpowiedniego katalogu i wybierz plik kopii zapasowej. W tym przykładzie wybrano plik
AdventureWorks2022.bak.
- Kliknij dwukrotnie
OK, aby zapisać ustawienia i powrócić do oknaRestore Database. SSMS wyświetli postęp operacji przywracania. Proces ten można monitorować w oknieRestore Progress.
Jeśli wszystko przebiegło poprawnie, po przywróceniu bazy danych powinien pojawić się następujący komunikat:
Database 'AdventureWorks2022' restored successfully.
Przywracanie bazy danych MS SQL w języku T-SQL
Za pomocą poleceń T-SQL można przywrócić bazę danych z pliku .bak przy użyciu instrukcji RESTORE DATABASE . Może to być przydatne w skryptach lub sytuacjach, w których narzędzie SSMS nie jest dostępne. Rozważ poniższe polecenia służące do przywracania bazy danych MS SQL w języku T-SQL.
- Pełne przywracanie bazy danych:
RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Full.bak' WITH REPLACE;Zastąp
YourDatabaseNamenazwą swojej bazy danych i podaj ścieżkę do pliku pełnej kopii zapasowej. OpcjaWITH REPLACEjest wymagana, jeśli nadpisujesz istniejącą bazę danych. - Przywracanie bazy danych różnicowej:
RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH NORECOVERY;Po przywróceniu kopii zapasowej różnicowej może być konieczne przywrócenie dodatkowych kopii zapasowych dziennika transakcji, aby odzyskać bazę danych do najnowszego punktu w czasie.
- Aby przywrócić kopię zapasową dziennika transakcji, użyj następującego polecenia T-SQL:
RESTORE LOG YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Log.bak' WITH NORECOVERY; - Powtórz to polecenie kolejno dla każdej kopii zapasowej dziennika transakcji. Na koniec wykonaj następujące polecenie, aby przywrócić bazę danych do trybu online:
RESTORE DATABASE YourDatabaseName WITH RECOVERY; - Upewnij się, że kopie zapasowe dziennika transakcji są stosowane we właściwej kolejności.
- Aby przywrócić kopię zapasową dziennika transakcji, użyj następującego polecenia T-SQL:
- Przywracanie pliku lub grupy plików:
RESTORE DATABASE YourDatabaseName FILE = 'LogicalFileName' FROM DISK = 'C:BackupYourDatabaseName_File.bak' WITH REPLACE;Zastąp
LogicalFileNamelogiczną nazwą pliku lub grupy plików. - Przywracanie tylko z kopiowania:
RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH REPLACE, COPY_ONLY;Opcja
COPY_ONLYjest wymagana w przypadku przywracania tylko z kopiowania.
Kopia zapasowa Microsoft SQL & Odzyskiwanie za pomocą NAKIVO
NAKIVO Backup & Replication to uniwersalne rozwiązanie do ochrony danych, które obsługuje tworzenie kopii zapasowych maszyn hostujących bazy danych MS SQL. Kopia zapasowa Microsoft SQL jest wykonywana podczas wykonywania kopii zapasowej komputera z systemem Windows wdrażanego jako maszyna fizyczna lub maszyna wirtualna. W ten sposób można zabezpieczyć cały serwer wraz z bazami danych Microsoft SQL działającymi na serwerze. Rozwiązanie NAKIVO pozwala na odzyskanie całej maszyny fizycznej lub maszyny wirtualnej, konkretnej bazy danych Microsoft SQL lub obiektów bazy danych. Takie podejście przyspiesza proces odzyskiwania i zapewnia większą elastyczność podczas odzyskiwania.
Zaletą wykonywania kopii zapasowej Microsoft SQL Server przy użyciu rozwiązania NAKIVO jest możliwość stosowania podejścia przyrostowego. Kopie przyrostowe przyspieszają proces wykonywania kopii zapasowej i oszczędzają miejsce na dysku. Techniki kompresji, szyfrowania i obcinania dziennika SQL sprawiają, że wykorzystanie miejsca na dysku jest bardziej racjonalne, a proces wykonywania kopii zapasowej szybki i bezpieczny. Zadania wykonywania kopii zapasowych są planowane i zautomatyzowane.
Wykonywanie kopii zapasowych serwera hostującego SQL: Krok po kroku z NAKIVO
Aby wykonać kopię zapasową komputera z systemem Windows i bazą danych MS SQL w formacie NAKIVO Backup & Replication, wykonaj następujące czynności:
- Otwórz interfejs internetowy NAKIVO Backup & Replication w przeglądarce internetowej.
- Upewnij się, że wymagany fizyczny serwer Windows lub maszyna wirtualna z serwerem Microsoft SQL Server została dodana do zasobów NAKIVO. Możesz dodać urządzenia fizyczne, serwery VMware vCenter, hosty ESXi oraz inne pozycje do spisu przechodząc do
Settings > Inventory.Upewnij się, że w repozytorium kopii zapasowych jest wystarczająco dużo wolnego miejsca na przechowywanie kopii zapasowych.

- Utwórz nowe zadanie tworzenia kopii zapasowej dla komputera, na którym zainstalowany jest MS SQL Server. Dzięki NAKIVO możesz wykonać kopię zapasową komputera z MS SQL Server w stanie pracy. Kliknij
Jobs > +(Utwórz nowe zadanie) i wybierz wymagany typ zadania. W tym przykładzie wykonujemy kopię zapasową komputera fizycznego i wybieramyPhysical machine backup job.
- W pierwszym kroku kreatora nowego zadania tworzenia kopii zapasowej wybierz komputer, na którym zainstalowany jest MS SQL Server. Wybieramy nasz Windows Server 2022 z zainstalowanym MS SQL Server 2022. W jednym zadaniu można wybrać wiele komputerów. Kliknij
Nextna każdym kroku kreatora, aby kontynuować.
- Wybierz repozytorium kopii zapasowych, w którym chcesz przechowywać kopię zapasową. Można wybrać lokalne repozytorium kopii zapasowych lub repozytorium w chmurze. Zaleca się najpierw użyć repozytorium lokalnego, a następnie utworzyć kopię zapasową w chmurze lub innym repozytorium, aby spełnić zasadę tworzenia kopii zapasowych 3-2-1.

- Wybierz opcje harmonogramu. Najnowsze wersje rozwiązania NAKIVO wykorzystują połączony harmonogram i podejście do przechowywania danych. Można skonfigurować elastyczne reguły przechowywania dla zadań tworzenia kopii zapasowych, w tym zadań tworzenia kopii zapasowych baz danych MS SQL. Ustaw nazwę dla każdego harmonogramu.

- Skonfiguruj opcje zadania tworzenia kopii zapasowej. Wprowadź nazwę zadania, na przykład Zadanie tworzenia kopii zapasowej MS SQL Server 2022. Skonfiguruj ustawienia pełnej kopii zapasowej. Domyślnie stosowane są kopie przyrostowe wraz z okresowymi kopiami pełnymi. Pełne kopie zapasowe mogą być
Active fulli {177}. KliknijFinishlubFinish & Run, aby natychmiast uruchomić zadanie.
- Poczekaj, aż zadanie wykonania kopii zapasowej zostanie zakończone.
Należy pamiętać, że NAKIVO Backup & Replication obsługuje obcinanie dziennika dla Microsoft SQL Server, Exchange Server i Oracle Database w celu zaoszczędzenia miejsca na serwerze źródłowym po wykonaniu kopii zapasowej.
Przywracanie bazy danych SQL za pomocą NAKIVO
Proces przywracania bazy danych MS SQL w NAKIVO Backup & Replication jest prosty. Można przywrócić całą maszynę fizyczną lub wirtualną wraz z bazą danych. Alternatywnie można skorzystać z funkcji odzyskiwania selektywnego i odzyskać tylko wybrane obiekty bazy danych (całą bazę danych, tabele itp.).
Aby odzyskać bazę danych MS SQL lub konkretne obiekty bazy danych w NAKIVO Backup & Replication, wykonaj następujące czynności:
- W interfejsie internetowym rozwiązania NAKIVO przejdź do
Jobs > Recover > Microsoft SQL Server objects.
- W pierwszym kroku
Object Recovery Wizard for Microsoft SQL Serverwybierz kopię zapasową komputera zawierającą bazę danych MS SQL Server oraz wybierz punkt odzyskiwania. Upewnij się, że pole wyboruAutomatically locate application databasesjest zaznaczone. KliknijNextna każdym etapie kreatora odzyskiwania, aby kontynuować.
- Wybierz serwer odzyskiwania. Serwerem odzyskiwania może być oryginalny serwer użyty jako źródło do wykonania kopii zapasowej lub nowy komputer bez przywracanej bazy danych. Wybieramy oryginalny serwer w celu odzyskania bazy danych.
- Wprowadź poświadczenia serwera odzyskiwania i kliknij
Test Connection. - Po nawiązaniu połączenia wybierz instancję SQL na tym serwerze.

- W kroku
Objectskreatora odzyskiwania wybierz bazę danych, którą chcesz odzyskać (plik.mdf).
Jeśli nie musisz przywracać całej bazy danych, kliknij ikonę
>w lewym panelu przy nazwie bazy danych, aby rozwinąć obiekt bazy danych i wybrać konkretne obiekty bazy danych do odzyskania.
- Wprowadź poświadczenia serwera odzyskiwania i kliknij
- Zdefiniuj opcje zadań odzyskiwania z opcji wymienionych poniżej:
Zakres odzyskiwania :
- Odzyskaj schemat i dane
- Odzyskaj tylko schemat
Typ odzyskiwania :
- Odzyskaj do pierwotnej lokalizacji
- Odzyskaj do lokalizacji niestandardowej
- Eksportuj
Zachowanie podczas nadpisywania :
- Zmień nazwę odzyskanego elementu, jeśli taki element istnieje (domyślnie)
- Pomiń odzyskany element, jeśli taki element istnieje
- Nadpisz oryginalny element, jeśli taki element istnieje

Kliknij
Recoveri poczekaj, aż wybrana baza danych lub obiekty bazy danych zostaną odzyskane.