Podziel się teraz:
Spis treści ukryć

backup SQL Server baza danych z naszym kompletnym przewodnikiem na rok 2025. Instrukcje krok po kroku i najlepsze praktyki dla wszystkich poziomów umiejętności.

1. Wprowadzenie do SQL Server backup

1.1 Co to jest SQL Server Kopia zapasowa?

SQL Server Kopia zapasowa to proces tworzenia kopii plików bazy danych w celu ochrony przed utratą danych. Kopia zapasowa rejestruje stan bazy danych w określonym momencie, umożliwiając przywrócenie danych w przypadku awarii sprzętu, błędów ludzkich lub katastrof.

SQL Server domyślnie przechowuje kopie zapasowe w plikach .bak, które zawierają wszystkie obiekty bazy danych, włączając tabele, procedury składowane, widoki, indeksy i dzienniki transakcji.

1.2 Dlaczego SQL Server Kopia zapasowa jest krytyczna

Kopie zapasowe baz danych stanowią ostatnią linię obrony przed utratą danych. Bez odpowiednich kopii zapasowych Twoja organizacja naraża się na ryzyko:

  • Trwała utrata danych z powodu awarii lub uszkodzeń sprzętu
  • Dłuższy przestój podczas prób odzyskania
  • Zakłócenia w biznesie i strata dochodów
  • Naruszenia zgodności jeśli danych nie można odzyskać
  • Uszkodzenie reputacji z powodu przerw w świadczeniu usług

Regularna SQL Server Kopie zapasowe zapewniają ciągłość działania firmy i spełniają wymogi prawne dotyczące ochrony danych.

1.3 Typowe scenariusze utraty danych

Zrozumienie, kiedy następuje utrata danych, pomoże Ci opracować skuteczną strategię tworzenia kopii zapasowych:

  • Awarie sprzętu: Awarie dysków, nieprawidłowe działanie serwerów lub awarie systemów pamięci masowej
  • Błędy ludzkie: Przypadkowe usunięcia, nieprawidłowe aktualizacje lub pominięte tabele
  • Problemy z oprogramowaniem: Błędy aplikacji, uszkodzone aktualizacje lub awarie systemu
  • Naruszenia bezpieczeństwa: Ataki ransomware, złośliwe usuwanie lub nieautoryzowany dostęp
  • Klęski żywiołowe: Pożary, powodzie lub przerwy w dostawie prądu mające wpływ na centra danych

2. Zrozumienie SQL Server Typy kopii zapasowych

SQL Server obsługuje wiele typów kopii zapasowych, z których każdy zaspokaja inne potrzeby w zakresie odzyskiwania danych i wymagań dotyczących pamięci masowej.

2.1 Pełna kopia zapasowa

Pełna kopia zapasowa tworzy kompletny egzemplarz całej bazy danych, obejmujący wszystkie pliki danych i część dziennika transakcji potrzebną do odzyskania danych.

2.1.1 Kiedy używać pełnej kopii zapasowej

Pełne kopie zapasowe są idealne w następujących przypadkach:

  • Ustalanie punktu odniesienia dla innych typów kopii zapasowych
  • Małe i średnie bazy danych, w których czas tworzenia kopii zapasowej jest akceptowalny
  • Tygodniowe lub miesięczne harmonogramy tworzenia kopii zapasowych
  • Bazy danych z rzadkimi zmianami

2.1.2 Zalety i ograniczenia pełnej kopii zapasowej

Zalety:

  • Najprostszy proces przywracania – pojedynczy plik zawiera wszystko
  • Samodzielny i niezależny od innych kopii zapasowych
  • Najszybszy czas odzyskiwania pełnej bazy danych

Ograniczenia:

  • Wymaga znacznej ilości miejsca do przechowywania
  • Dłuższy czas tworzenia kopii zapasowych dużych baz danych
  • Większe zużycie zasobów podczas operacji tworzenia kopii zapasowych

2.2 Kopia zapasowa różnicowa

Kopia zapasowa różnicowa obejmuje tylko zmiany danych, jakie nastąpiły od ostatniej pełnej kopii zapasowej, co skraca czas tworzenia kopii zapasowych i wymagania dotyczące pamięci masowej.

2.2.1 Jak działa kopia zapasowa różnicowa

Kopie zapasowe różnicowe śledzą modyfikacje, wykorzystując zmienione zakresy. Podczas przywracania SQL Server najpierw zastosuj ostatnią pełną kopię zapasową, a następnie zastosuj most ostatnia kopia zapasowa różnicowa.

2.2.2 Pełna kopia zapasowa a kopia różnicowa

Pełna kopia zapasowa a kopia różnicowa

WYGLĄD Pełna kopia zapasowa Różnicowa kopia zapasowa
Rozmiar Kompletna baza danych Tylko zmiany od ostatniej pełnej kopii zapasowej
Czas tworzenia kopii zapasowej najdłuższy Szybciej niż pełny
Proces przywracania Przywracanie pojedynczego pliku Wymaga pełnego + różnicowego
Wymagane miejsce do przechowywania Most przestrzeń Początkowo mniej miejsca, z czasem coraz więcej

2.3 Kopia zapasowa dziennika transakcji

Kopie zapasowe dziennika transakcji obejmują wszystkie transakcje od czasu ostatniej kopii zapasowej, umożliwiając odzyskiwanie danych w określonym punkcie czasu.

2.3.1 Zrozumienie dzienników transakcji

Dziennik transakcji rejestruje każdą modyfikację w bazie danych. Kopie zapasowe dziennika usuwają nieaktywną część dziennika, zapobiegając jego nieskończonemu rozrastaniu się i zapełnianiu dysku.

2.3.2 Odzyskiwanie w określonym punkcie czasu

Kopie zapasowe dziennika transakcji umożliwiają przywrócenie bazy danych do dowolnego momentu w ramach kopii zapasowej dziennika. Jest to kluczowe w przypadku odzyskiwania danych po przypadkowych modyfikacjach lub usunięciach.

Aby wykonać odzyskiwanie danych w określonym punkcie czasowym, potrzebne są następujące elementy:

  • Ostatnia pełna kopia zapasowa
  • Most ostatnia kopia zapasowa różnicowa (opcjonalnie)
  • Wszystkie kopie zapasowe dziennika transakcji z pełnej/różnicowej kopii zapasowej do Twojej taruzyskać czas

2.4 Kopia zapasowa Tail-Log

Kopie zapasowe typu tail-log przechwytują rekordy logu, których jeszcze nie utworzono, zapobiegając utracie danych i zachowując nienaruszony łańcuch logów. Przed odzyskaniem SQL Server Aby przywrócić bazę danych do ostatniego punktu w czasie, należy wykonać kopię zapasową końca jej dziennika transakcji. Kopia zapasowa końca dziennika transakcji to ostatnia kopia zapasowa, która jest brana pod uwagę w planie odzyskiwania bazy danych.

Diagram objaśniający kopie zapasowe dziennika ogonowego w SQL Server.

Uwaga: Nie wszystkie scenariusze przywracania wymagają kopii zapasowej dziennika końcowego. Nie jest ona potrzebna, jeśli punkt odzyskiwania znajduje się we wcześniejszej kopii zapasowej dziennika. Kopia zapasowa dziennika końcowego jest również zbędna, jeśli przenosisz lub zastępujesz (nadpisujesz) bazę danych i nie musisz przywracać jej do punktu czasowego po jej utworzeniu.ost ostatnia kopia zapasowa.

2.4.1 Kiedy konieczne są kopie zapasowe dziennika ogonowego

Poniższe scenariusze opisują sytuacje, w których należy wykonać kopię zapasową dziennika końcowego:

Przywracanie bazy danych online: Jeśli baza danych jest online i planujesz wykonać operację przywracania bazy danych, zacznij od utworzenia kopii zapasowej końca dziennika. Aby uniknąć błędu w przypadku bazy danych online, należy użyć opcji WITH NORECOVERY instrukcji BACKUP języka Transact-SQL podczas tworzenia kopii zapasowej. SQL Server Baza danych.

Odzyskiwanie bazy danych offline: Jeśli baza danych jest offline i nie można jej pobraćtarJeśli chcesz przywrócić bazę danych, najpierw utwórz kopię zapasową końca dziennika. Ponieważ w tym momencie nie mogą być przeprowadzane żadne transakcje, użycie opcji WITH NORECOVERY jest opcjonalne. W tym scenariuszu NORECOVERY działa w praktyce tak samo, jak kopia zapasowa dziennika transakcji.

Uszkodzona kopia zapasowa bazy danych: Jeśli baza danych jest uszkodzona, spróbuj wykonać kopię zapasową dziennika zmian (tail log), używając opcji WITH CONTINUE_AFTER_ERROR polecenia BACKUP. W przypadku uszkodzonej bazy danych, utworzenie kopii zapasowej dziennika zmian (tail log) może się powieść tylko wtedy, gdy pliki dziennika są nieuszkodzone, baza danych znajduje się w stanie umożliwiającym tworzenie kopii zapasowych dziennika zmian (tail log) i nie zawiera żadnych zbiorczych zmian. Jeśli utworzenie kopii zapasowej dziennika zmian (tail log) nie jest możliwe, wszystkie transakcje zatwierdzone po ostatniej aktualizacji systemu MS (MS) zostaną usunięte. SQL Server kopia zapasowa bazy danych to lost.

2.4.2 Kluczowe opcje kopii zapasowych Tail-Log

Z NORECOVERY: Użyj WITH NORECOVERY, jeśli tworzysz kopię zapasową fragmentu logu bazy danych online, którą planujesz później przywrócić. NORECOVERY wyłącza bazę danych. Możesz również utworzyć kopię zapasową SQL Server Dziennik ogonowy bazy danych offline. Jeśli chcesz pozostawić bazę danych offline, użyj WITH NORECOVERY. Pamiętaj, że dziennik zostanie obcięty, chyba że określisz opcję COPY_ONLY lub NO_TRUNCATE.

Z CONTINUE_AFTER_ERROR: Użyj opcji CONTINUE_AFTER_ERROR tylko wtedy, gdy tworzysz kopię zapasową końca uszkodzonej bazy danych. Podczas tworzenia kopii zapasowej końca dziennika w uszkodzonej bazie danych niektóre metadane, które zwykle są zapisywane w kopiach zapasowych dziennika, mogą być niedostępne.

2.5 Kopia zapasowa typu „tylko kopia”

Kopie zapasowe typu „tylko kopia” tworzą niezależną kopię zapasową bez wpływu na normalną sekwencję tworzenia kopii zapasowych. Nie zakłócają one różnicowych łańcuchów kopii zapasowych ani ciągłości dziennika transakcji.

Używaj kopii zapasowych typu „tylko kopia” w przypadku:

  • Tworzenie kopii baz danych testowych lub rozwojowych
  • Kopie zapasowe ad-hoc bez wpływu na zaplanowane kopie zapasowe
  • Kopia zapasowa przed większymi zmianami lub testowaniem

2.6 Kopia zapasowa plików i grup plików

Kopie zapasowe plików i grup plików tarPobierz konkretne pliki bazy danych lub grupy plików, a nie całą bazę. To podejście sprawdza się w przypadku bardzo dużych baz danych, gdzie tworzenie kopii zapasowych wszystkich danych zajmuje zbyt dużo czasu.

Korzyści obejmują:

  • Szybsze operacje tworzenia kopii zapasowych dużych baz danych
  • Równoległe tworzenie kopii zapasowych wielu grup plików
  • Opcje odzyskiwania granularnego
  • Zoptymalizowane harmonogramy tworzenia kopii zapasowych dla grup plików tylko do odczytu

2.7 Częściowa kopia zapasowa

Częściowe kopie zapasowe obejmują wszystkie dane w głównej grupie plików oraz w grupach plików do odczytu i zapisu, z wyłączeniem grup plików tylko do odczytu. Zmniejsza to rozmiar i czas tworzenia kopii zapasowych w przypadku baz danych ze statycznymi danymi historycznymi przechowywanymi w grupach plików tylko do odczytu.

3. SQL Server Modele odzyskiwania

SQL Server modele odzyskiwania określają, jakie typy kopii zapasowych są dostępne i w jaki sposób zarządzane są dzienniki transakcji.

3.1 Prosty model odzyskiwania

3.1.1 Charakterystyka i przypadki użycia

Funkcja prostego odzyskiwania automatycznie obcina dziennik transakcji po każdym punkcie kontrolnym, co pozwala na odzyskanie miejsca bez konieczności tworzenia kopii zapasowych dziennika.

Najlepszy dla:

  • Bazy danych do rozwoju i testowania
  • Bazy danych, w których utrata danych pomiędzy kopiami zapasowymi jest akceptowalna
  • Magazyny danych z procesami ETL, które można ponownie uruchomić
  • Bazy danych tylko do odczytu lub raportowania

3.1.2 Dostępne opcje tworzenia kopii zapasowych

Proste odzyskiwanie obsługuje:

  • Pełne kopie zapasowe
  • Różnicowe kopie zapasowe
  • Kopie zapasowe plików i grup plików
  • Kopie zapasowe tylko do kopiowania

Kopie zapasowe dziennika transakcji są niedostępne w prostym modelu odzyskiwania.

3.2 Model pełnego odzyskiwania

3.2.1 Funkcje i zalety

Pełne odzyskiwanie rejestruje wszystkie transakcje i zachowuje rekordy dziennika do momentu utworzenia kopii zapasowej. Umożliwia to pełne odzyskiwanie danych z dowolnego punktu w czasie w ramach kopii zapasowej dziennika transakcji.

Kluczowe korzyści:

  • Minimalne ryzyko utraty danych
  • Możliwość przywracania do określonego punktu w czasie
  • Obsługuje wysyłkę dziennika i tworzenie kopii lustrzanych bazy danych
  • Maksymalna elastyczność odzyskiwania

3.2.2 Zarządzanie dziennikiem transakcji

W przypadku pełnego odzyskiwania należy regularnie wykonywać kopie zapasowe dziennika transakcji, aby:

  • Zapobiegaj zapełnianiu przestrzeni dyskowej przez dziennik transakcji
  • Utrzymuj ciągły łańcuch kopii zapasowych
  • Włącz odzyskiwanie punktu w czasie
  • Kontroluj wzrost pliku dziennika

Typowy harmonogram tworzenia kopii zapasowych: pełne kopie zapasowe co tydzień, kopie różnicowe codziennie, kopie dziennika co 15–30 minut.

3.3 Model odzyskiwania zbiorczego

3.3.1 Kiedy używać funkcji Bulk-Logged

Odzyskiwanie z zbiorczym logowaniem w minimalnym stopniu rejestruje operacje zbiorcze, takie jak BULK INSERT, SELECT INTO i przebudowywanie indeksów, jednocześnie zachowując pełne rejestrowanie dla zwykłych transakcji.

Użyj odzyskiwania zbiorczego, gdy:

  • Wykonywanie dużych operacji importu hurtowego
  • Odbudowa indeksów w dużych tabelach
  • Wykonywanie operacji, które korzystają z minimalnego rejestrowania
  • Konieczność zmniejszenia rozmiaru dziennika transakcji podczas określonych operacji

3.3.2 Ograniczenia i uwagi

Ważne ograniczenia:

  • Przywracanie do określonego punktu w czasie nie jest dostępne podczas operacji zbiorczych
  • Kopie zapasowe dziennika są większe w przypadku operacji zbiorczych
  • W razie potrzeby należy przełączać się między trybem pełnego rejestrowania a trybem rejestrowania zbiorczego

3.4 Wybór właściwego modelu odzyskiwania

Wybierz model odzyskiwania w oparciu o wymagania biznesowe:

Model odzyskiwania Ryzyko utraty danych Przywracanie do określonego momentu Najlepsze dla:
Prosty Zmiany od ostatniej kopii zapasowej Nie Rozwój/testowanie, akceptowalna utrata danych
Pełny Minimalny (zwykle kilka minut) Tak Bazy danych produkcyjnych, dane krytyczne
Rejestrowane zbiorczo Zmiany od ostatniej kopii zapasowej dziennika Ograniczone podczas operacji masowych Temporary używać podczas operacji masowych

4. Utworzyć kopię zapasową SQL Server Baza danych wykorzystująca SSMS

4.1 Wymagania wstępne i przygotowanie

Przed wykonaniem kopii zapasowej SQL Server baza danych, zapewnij:

  • Posiadasz odpowiednie uprawnienia (db_owner lub uprawnienie BACKUP DATABASE)
  • Wystarczająca ilość miejsca na dysku na plik kopii zapasowej
  • SQL Server Zainstalowano Management Studio (SSMS)
  • Ścieżki sieciowe dostępne w przypadku tworzenia kopii zapasowej w lokalizacjach sieciowych

4.2 Krok po kroku: pełna kopia zapasowa za pomocą SSMS

Aby utworzyć pełną kopię zapasową swojego urządzenia, wykonaj następujące czynności: SQL Server baza danych przy użyciu SSMS.

4.2.1 Otwarcie SQL Server Studio zarządzania

  1. Premiera SQL Server Studio zarządzania
  2. Wprowadź nazwę swojego serwera w Nazwa serwera pole
  3. Wybierz metodę uwierzytelniania
  4. Kliknij Skontaktuj się

4.2.2 Wybór opcji bazy danych i kopii zapasowej

  1. In Eksplorator obiektów, rozwiń Bazy danych węzeł
  2. Kliknij prawym przyciskiem myszy bazę danych, którą chcesz utworzyć kopię zapasową
  3. Wybierz Zadania -> Kopię zapasową
    Starzadanie tworzenia kopii zapasowej dla SQL Server baza danych w SQL Server Studio Zarządzania.
  4. W Kopia zapasowa bazy danych okno, sprawdź nazwę bazy danych
  5. Wybierz Pełny jak Typ kopii zapasowej
    Utwórz pełną kopię zapasową SQL Server baza danych w SQL Server Studio Zarządzania.

4.2.3 Konfigurowanie miejsca docelowego kopii zapasowej

  1. Pod Miejsce przeznaczeniakliknij Usunąć aby wyczyścić domyślną ścieżkę (jeśli to konieczne)
  2. Kliknij Dodaj aby określić nową lokalizację kopii zapasowej
  3. Wprowadź ścieżkę i nazwę pliku za pomocą .bak rozbudowa
  4. Kliknij OK aby potwierdzić miejsce docelowe

Ustaw miejsce docelowe kopii zapasowej w SQL Server Studio Zarządzania.

4.2.4 Advanced Backup Ustawienia

  1. Kliknij Opcje mediów w lewym panelu
  2. Wybierz opcje kopii zapasowej:
    • Nadpisz wszystkie istniejące zestawy kopii zapasowych – Zastępuje istniejące kopie zapasowe
    • Dodaj do istniejącego zestawu kopii zapasowych – Dodaje do istniejącego pliku kopii zapasowej

    Ustaw opcje nośnika kopii zapasowej w SQL Server Studio Zarządzania.

  3. Kliknij Opcje kopii zapasowej w lewym panelu
  4. Skonfiguruj ustawienia opcjonalne:
    • Kompresja kopii zapasowej – Zmniejsza rozmiar pliku kopii zapasowej
    • Szyfruj kopię zapasową – Chroni poufne dane
    • Po zakończeniu zweryfikuj kopię zapasową – Sprawdza integralność kopii zapasowej

    Ustaw opcje kopii zapasowej w SQL Server Studio Zarządzania.

4.2.5 Wykonywanie kopii zapasowej

  1. Przejrzyj wszystkie ustawienia w Kopia zapasowa bazy danych okno
  2. Kliknij OK do starw procesie tworzenia kopii zapasowej
  3. Poczekaj na zakończenie tworzenia kopii zapasowej
  4. Po zakończeniu tworzenia kopii zapasowej pojawi się komunikat o pomyślnym zakończeniu
  5. Kliknij OK aby zamknąć okno dialogowe potwierdzenia

4.3 Tworzenie kopii zapasowej różnicowej za pomocą SSMS

Aby utworzyć kopię zapasową różnicową, wykonaj te same kroki, co w przypadku kopii pełnej, ale wybierz Mechanizm różnicowy jako typ kopii zapasowej w kroku 4.2.2. Pamiętaj, że kopie różnicowe wymagają wcześniejszej pełnej kopii zapasowej jako punktu odniesienia.

Utwórz kopię zapasową różnicową SQL Server baza danych w SQL Server Studio Zarządzania.

4.4 Tworzenie kopii zapasowej dziennika transakcji za pomocą SSMS

Kopie zapasowe dziennika transakcji są dostępne wyłącznie w przypadku baz danych korzystających z modeli odzyskiwania pełnego lub zbiorczego.

  1. Kliknij prawym przyciskiem myszy bazę danych w Eksplorator obiektów
  2. Wybierz Zadania -> Kopię zapasową
  3. Dodaj Dziennik transakcji jako typ kopii zapasowej
  4. Skonfiguruj miejsce docelowe i opcje według potrzeb
  5. Kliknij OK aby utworzyć kopię zapasową dziennika

Utwórz kopię zapasową dziennika transakcji SQL Server baza danych w SQL Server Studio Zarządzania.

4.5 Tworzenie kopii zapasowej typu „tylko kopia” za pomocą programu SSMS

Kopie zapasowe typu „tylko kopia” nie kolidują z regularną sekwencją tworzenia kopii zapasowych.

  1. Wykonaj poniższe kroki, aby utworzyć pełną kopię zapasową
  2. W Opcje kopii zapasowej strona
  3. Sprawdź Kopia zapasowa tylko do kopiowania opcja
  4. Zakończ proces tworzenia kopii zapasowej normalnie

Utwórz kopię zapasową tylko do kopiowania SQL Server baza danych w SQL Server Studio Zarządzania.

5. Utworzyć kopię zapasową SQL Server Baza danych wykorzystująca T-SQL

5.1 Podstawowa składnia bazy danych kopii zapasowej

Polecenie T-SQL BACKUP DATABASE zapewnia programową kontrolę nad SQL Server kopie zapasowe.

BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;

5.2 Pełne polecenia T-SQL do tworzenia kopii zapasowej

5.2.1 Prosty skrypt pełnej kopii zapasowej

Utwórz podstawową pełną kopię zapasową z minimalną liczbą opcji:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO

5.2.2 Pełna kopia zapasowa z opcjami

Dodaj informacje opisowe i opcje formatowania:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
     INIT,
     NAME = 'AdventureWorks-Full Database Backup',
     DESCRIPTION = 'Full backup of AdventureWorks database',
     STATS = 10
GO

Wyjaśnienie opcji:

  • FORMAT – Tworzy nowy zestaw kopii zapasowych
  • INIT – Nadpisuje istniejący plik kopii zapasowej
  • IMIĘ – Przypisuje nazwę zestawu kopii zapasowych
  • OPIS – Dodaje tekst opisowy
  • STATYSTYKI – Pokazuje postęp co 10%

5.3 Polecenia T-SQL dotyczące kopii zapasowej różnicowej

Kopie zapasowe różnicowe korzystają z opcji DIFFERENTIAL:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
     INIT,
     NAME = 'AdventureWorks-Differential Backup',
     STATS = 10
GO

5.4 Polecenia T-SQL do tworzenia kopii zapasowej dziennika transakcji

Użyj BACKUP LOG do tworzenia kopii zapasowych dziennika transakcji:

BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
     NAME = 'AdventureWorks-Transaction Log Backup',
     STATS = 10
GO

5.5 Zaawansowane opcje tworzenia kopii zapasowych T-SQL

5.5.1 Kopia zapasowa do wielu plików

Rozłóż kopię zapasową na wiele plików, aby uzyskać szybszą wydajność:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
   DISK = 'D:\Backups\AdventureWorks_2.bak',
   DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO

5.5.2 Kopia zapasowa z kompresją

Zmniejsz rozmiar pliku kopii zapasowej i przepustowość sieci:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
     INIT,
     STATS = 10
GO

5.5.3 Kopia zapasowa z szyfrowaniem

Chroń poufne dane za pomocą szyfrowania:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
     ENCRYPTION (
         ALGORITHM = AES_256,
         SERVER CERTIFICATE = BackupCertificate
     ),
     STATS = 10
GO

5.5.4 Kopia zapasowa z ochroną hasłem

Dodaj ochronę hasłem (przestarzałe, zamiast tego użyj szyfrowania):

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
     INIT
GO

5.5.5 Kopie zapasowe lustrzane

Utwórz kopie jednocześnie w różnych lokalizacjach:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO

5.6 Przykłady i skrypty kopii zapasowych T-SQL

Kompletny skrypt kopii zapasowej z obsługą błędów:

DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);

SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';

BEGIN TRY
    BACKUP DATABASE @DatabaseName
    TO DISK = @BackupPath
    WITH COMPRESSION,
         INIT,
         NAME = @DatabaseName + '-Full Backup',
         STATS = 10;
    
    PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
    PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO

6. Utworzyć kopię zapasową SQL Server Baza danych za pomocą programu PowerShell

6.1 Polecenia cmdlet programu PowerShell do tworzenia kopii zapasowych

SQL Server Moduł PowerShell udostępnia polecenia cmdlet do automatyzacji tworzenia kopii zapasowych:

  • Kopia zapasowa bazy danych SQL – Tworzy kopie zapasowe bazy danych
  • Przywróć bazę danych SQL – Przywraca kopie zapasowe bazy danych
  • Pobierz bazę danych SQL – Pobiera informacje z bazy danych

Importuj SQL Server moduł:

Import-Module SqlServer

6.2 Tworzenie skryptów kopii zapasowych za pomocą programu PowerShell

Podstawowe polecenie tworzenia kopii zapasowej programu PowerShell:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks.bak" `
                    -BackupAction Database `
                    -CompressionOption On

Przykład kopii zapasowej różnicowej:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
                    -BackupAction Database `
                    -Incremental

Kopia zapasowa dziennika transakcji:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks_Log.trn" `
                    -BackupAction Log

6.3 Automatyzacja tworzenia kopii zapasowych za pomocą programu PowerShell

Utwórz zautomatyzowany skrypt kopii zapasowej dla wielu baz danych:

# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"

# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
    New-Item -ItemType Directory -Path $BackupPath
}

# Backup each database
foreach ($Database in $Databases) {
    $BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
    
    try {
        Backup-SqlDatabase -ServerInstance $ServerInstance `
                          -Database $Database `
                          -BackupFile $BackupFile `
                          -BackupAction Database `
                          -CompressionOption On
        
        Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
    }
    catch {
        Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
    }
}

7. Utworzyć kopię zapasową SQL Server Baza danych za pomocą wiersza poleceń

SQL Server udostępnia narzędzia wiersza poleceń, które umożliwiają tworzenie kopii zapasowych SQL Server bazy danych bez użycia SSMS lub interfejsów graficznych. Narzędzia te są niezbędne do automatyzacji, tworzenia skryptów i zdalnej administracji.

7.1 Użyj kopii zapasowej bazy danych SQLCMD

SQLCMD to nowoczesne narzędzie wiersza poleceń do SQL Server który zastąpił OSQL. Zapewnia rozszerzoną funkcjonalność i jest zalecanym narzędziem do wykonywania poleceń T-SQL z poziomu wiersza poleceń.

7.1.1 Podstawowa składnia SQLCMD

sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: Określa SQL Server nazwa instancji
  • -re: Określa nazwę bazy danych
  • -Q: Wykonuje zapytanie i wychodzi
  • -I: Używa uwierzytelniania systemu Windows
  • -U: Określa SQL Server nazwa użytkownika logowania
  • -P: Określa hasło dla SQL Server Zaloguj Się

7.1.2 Tworzenie kopii zapasowej za pomocą narzędzia SQLCMD

Aby wykonać kopię zapasową SQL Server używając narzędzia SQLCMD, wykonaj następujące kroki:

  1. Otwórz Wiersz polecenia or PowerShell
  2. Nawiguj do SQL Server katalog narzędzi (zwykle dodawany do PATH podczas instalacji)
  3. Wykonaj polecenie kopii zapasowej bazy danych SQLCMD z odpowiednimi parametrami
  4. Sprawdź, czy plik kopii zapasowej został pomyślnie utworzony

Przykładowe polecenie pełnej kopii zapasowej z użyciem uwierzytelniania systemu Windows:

sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"

Przykład użycia SQL Server Poświadczenie:

sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"

Tworzenie kopii zapasowej różnicowej za pomocą narzędzia SQLCMD

sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"

Tworzenie kopii zapasowej dziennika transakcji za pomocą narzędzia SQLCMD

sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"

7.2 Użyj kopii zapasowej bazy danych OSQL

OSQL to starsze narzędzie wiersza poleceń przeznaczone do SQL ServerChociaż Microsoft zaleca korzystanie z narzędzia SQLCMD, OSQL pozostaje dostępny w celu zapewnienia wstecznej kompatybilności ze starszymi skryptami i systemami.

7.2.1 Podstawowa składnia OSQL

Składnia OSQL jest podobna do SQLCMD:

osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: SQL Server nazwa instancji
  • -re: Nazwa bazy danych
  • -Q: Wykonuje zapytanie i wychodzi
  • -I: Używa zaufanego połączenia (uwierzytelnianie systemu Windows)
  • -U: Login nazwa użytkownika
  • -P: Login Hasło

7.2.2 Tworzenie kopii zapasowej za pomocą OSQL

Aby wykonać operacje tworzenia kopii zapasowej bazy danych OSQL:

  1. Otwórz Wiersz polecenia
  2. Sprawdź, czy OSQL jest dostępny w Twoim systemie SQL Server instalacja
  3. Wykonaj polecenie kopii zapasowej OSQL

Przykład pełnej kopii zapasowej:

osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"

Przykładowa kopia zapasowa różnicowa:

osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"

8. Strona trzecia SQL Server Narzędzia kopii zapasowych

Kompletujemy wszystkie dokumenty (wymagana jest kopia paszportu i XNUMX zdjęcia) potrzebne do SQL Server Zawiera natywne funkcje tworzenia kopii zapasowych, a narzędzia innych firm oferują ulepszone funkcje, automatyzację i zarządzanie klasy korporacyjnej dla organizacji o złożonych wymaganiach. Rozwiązania te zapewniają zaawansowaną kompresję, scentralizowane zarządzanie i usprawnione przepływy pracy w zakresie tworzenia kopii zapasowych. SQL Server baz danych w wielu środowiskach.

8.1 Kopia zapasowa Veeam dla SQL Server

Veeam oferuje kompleksowe rozwiązania do ochrony danych, zaprojektowane specjalnie do tworzenia kopii zapasowych SQL Server bazy danych o minimalnym wpływie na systemy produkcyjne.

Kluczowe cechy:

  • Przetwarzanie uwzględniające aplikacje SQL Server spójność kopii zapasowych
  • Tworzenie kopii zapasowych i zarządzanie dziennikiem transakcji
  • Odzyskiwanie danych z określonego punktu w czasie z opcjami przywracania szczegółowego
  • Integracja z Veeam Backup & Replication w celu zapewnienia ujednoliconej ochrony danych
  • Automatyczna weryfikacja i walidacja kopii zapasowych
  • Obsługa grup dostępności Always On
  • Poziom maszyny wirtualnej i poziom aplikacji SQL Server opcje kopii zapasowej

8.2 Kopia zapasowa Barracuda dla SQL Server

Barracuda zapewnia zintegrowane w chmurze rozwiązania do tworzenia kopii zapasowych z uproszczonym zarządzaniem dla systemu MS SQL Server operacje tworzenia kopii zapasowych baz danych.

Kluczowe cechy:

  • zautomatyzowane SQL Server harmonogram tworzenia kopii zapasowych
  • Wbudowana replikacja w chmurze do Barracuda Cloud Storage
  • Globalna deduplikacja i kompresja
  • Możliwość natychmiastowego lokalnego odzyskiwania
  • Konsola zarządzania oparta na sieci Web
  • Obsługa pełnych kopii zapasowych, kopii różnicowych i kopii dziennika transakcji
  • Ochrona przed oprogramowaniem ransomware z niezmiennymi kopiami zapasowymi

8.3 Veritas NetBackup dla SQL Server

Veritas NetBackup to platforma tworzenia kopii zapasowych klasy korporacyjnej zapewniająca kompleksową ochronę SQL Server baz danych w złożonych środowiskach informatycznych.

Kluczowe cechy:

  • Zarządzanie kopiami zapasowymi na skalę przedsiębiorstwa dla tysięcy SQL Server instancje
  • Zaawansowane algorytmy deduplikacji i kompresji
  • Elastyczne zasady tworzenia kopii zapasowych i ich harmonogramowanie
  • Wsparcie dla wszystkich SQL Server modele odzyskiwania
  • Integracja z biblioteką taśmrari przechowywanie w chmurze
  • Granularne odzyskiwanie baz danych, tabel i obiektów
  • Obsługa wielu platform (Windows, Linux) SQL Server)
  • Zautomatyzowane zarządzanie cyklem życia kopii zapasowych

8.4 Commvault Complete Backup & Recovery dla SQL Server

Commvault zapewnia inteligentne zarządzanie danymi z kompleksowym tworzeniem kopii zapasowych SQL Server możliwości i zaawansowane funkcje automatyzacji.

Kluczowe cechy:

  • Optymalizacja kopii zapasowych i wykrywanie anomalii oparte na sztucznej inteligencji
  • Zunifikowana platforma do tworzenia kopii zapasowych, odzyskiwania i archiwizacji
  • Zaawansowany SQL Server kompresja kopii zapasowej (redukcja do 90%)
  • Zautomatyzowana koordynacja odzyskiwania po awarii
  • Synchronizacja na żywo zapewniająca ochronę RPO zbliżoną do zera
  • Wsparcie dla SQL Server wdrożenia lokalne, w chmurze i hybrydowe
  • IntelliSnap do tworzenia kopii zapasowych na podstawie migawek
  • Kompleksowe możliwości zgodności i elektronicznego ujawniania informacji

8.5 Cohesity DataProtect dla SQL Server

Coheity zapewnia zarządzanie danymi nowej generacji z hiperkonwergentną infrastrukturą dla nowoczesnych SQL Server operacje tworzenia kopii zapasowych.

Kluczowe cechy:

  • Architektura sieciowa dla uproszczonego zarządzania
  • Możliwość natychmiastowego przywracania masowego SQL Server Bazy danych
  • Migawki spójne z aplikacją
  • Globalna deduplikacja wszystkich kopii zapasowych
  • Natywna integracja z chmurą (AWS, Azure, Google Cloud)
  • Wbudowane panele analityczne i monitorujące
  • Możliwości klonowania i testowania bazy danych
  • Ochrona przed oprogramowaniem ransomware z niezmiennymi migawkami

8.6 Red Gate SQL Backup Pro

Red Gate SQL Backup Pro to specjalistyczne narzędzie skupiające się wyłącznie na optymalizacji SQL Server tworzenie kopii zapasowych i przywracanie danych przy zachowaniu doskonałej kompresji i wydajności.

Kluczowe cechy:

  • Wiodący w branży współczynnik kompresji (do 95%)
  • Odporność sieci na tworzenie kopii zapasowych SQL Server przez zawodne połączenia
  • Szyfrowanie kopii zapasowej za pomocą 256-bitowego algorytmu AES
  • Weryfikacja kopii zapasowej i sprawdzanie integralności
  • Szczegółowa historia kopii zapasowych i raportowanie
  • Integracja z SQL Server Studio zarządzania
  • Obsługa tworzenia kopii zapasowych w lokalizacjach sieciowych i pamięci masowej w chmurze
  • Równoległe tworzenie kopii zapasowych i przywracanie danych w celu szybszego działania

9. Jak przywrócić SQL Server Baza danych

9.1 Zrozumienie procesu przywracania

Przywracanie SQL Server Baza danych odtwarza bazę danych z plików kopii zapasowej. Proces przywracania odczytuje plik kopii zapasowej i rekonstruuje bazę danych do stanu z kopii zapasowej.

Ważne uwagi:

  • Przywracanie powoduje nadpisanie istniejącej bazy danych
  • Użytkownicy są rozłączani podczas przywracania
  • Przywracanie musi odbywać się zgodnie z sekwencją kopii zapasowych (pełna, następnie różnicowa, a na końcu dzienniki)
  • Baza danych jest niedostępna podczas operacji przywracania

9.2 Przywracanie pełnej kopii zapasowej za pomocą programu SSMS

Aby przywrócić pełną kopię zapasową bazy danych, wykonaj poniższe czynności.

9.2.1 Proces przywracania krok po kroku

  1. Otwórz SQL Server Studio zarządzania i połącz się ze swoim serwerem
  2. In Eksplorator obiektów, kliknij prawym przyciskiem myszy Bazy danych
  3. Wybierz Przywróć bazę danych
  4. W Źródło sekcja, wybierz Urządzenie
  5. Kliknij ... przycisk do przeglądania plików kopii zapasowych
  6. Kliknij Dodaj i przejdź do pliku .bak
  7. Wybierz plik kopii zapasowej i kliknij OK
  8. W Miejsce przeznaczenia sekcja, wprowadź nazwę bazy danych
  9. Przejrzyj zestawy kopii zapasowych, aby je przywrócić
  10. Kliknij OK do start przywrócić

9.2.2 Opcje i ustawienia przywracania

Kliknij Opcje w lewym panelu, aby skonfigurować:

  • Nadpisz istniejącą bazę danych (Z REPLACE) – Umożliwia przywrócenie istniejącej bazy danych
  • Zachowaj ustawienia replikacji (Z KEEP_REPLICATION) – Utrzymuje konfigurację replikacji
  • Ogranicz dostęp do przywróconej bazy danych (Z OGRANICZONYM UŻYTKOWNIKIEM) – Granice post-przywrócić dostęp
  • Stan odzyskiwania – Wybierz pomiędzy PRZYWRÓCENIEM Z ODZYSKIWANIEM lub NORECOVERY

9.3 Przywracanie kopii zapasowej różnicowej

Przywracanie różnicowe wymaga zarówno pełnej, jak i różnicowej kopii zapasowej:

  1. Najpierw przywróć pełną kopię zapasową za pomocą NORECOVERY opcja
  2. Następnie przywróć kopię zapasową różnicową za pomocą ODZYSKIWANIE opcja

Przykład T-SQL:

-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO

9.4 Przywracanie z kopii zapasowych dziennika transakcji

W celu odzyskania danych z określonego punktu w czasie należy wykonać przywracanie w następującej kolejności:

  1. Przywróć pełną kopię zapasową za pomocą NORECOVERY
  2. Przywróć kopię zapasową różnicową za pomocą NORECOVERY (jeśli jest dostępna)
  3. Przywróć kopie zapasowe dziennika transakcji w kolejności zgodnej z NORECOVERY
  4. Przywróć ostateczną kopię zapasową dziennika za pomocą funkcji RECOVERY
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;

-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO

9.5 Przywracanie punktu w czasie

Przywróć bazę danych do określonego punktu w czasie, używając opcji STOPAT:

-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO

9.6 Przywracanie za pomocą poleceń T-SQL

Kompletny skrypt przywracania z przeniesieniem plików:

RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
     MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
     REPLACE,
     STATS = 10;
GO

9.7 Weryfikacja integralności kopii zapasowej przed przywróceniem

Sprawdź ważność kopii zapasowej bez jej przywracania:

RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO

To polecenie sprawdza, czy zestaw kopii zapasowych jest kompletny i możliwy do odczytu, bez konieczności przywracania bazy danych.

10. SQL Server Najlepsze praktyki tworzenia kopii zapasowych

10.1 Opracowanie strategii tworzenia kopii zapasowych

10.1.1 Ocena wymagań biznesowych

Przed wdrożeniem kopii zapasowych należy ocenić:

  • Krytyczność danych: Jak ważne są te dane dla działalności operacyjnej?
  • Zmień częstotliwość: Jak często zmieniają się dane?
  • Rozmiar bazy danych: Jak duża jest baza danych?
  • Dostępne zasoby: Jaka ilość pamięci masowej i przepustowości jest dostępna?
  • Potrzeby zgodności: Jakich przepisów musisz przestrzegać?

10.1.2 Definicja RTO i RPO

Cel czasu odzyskiwania (RTO): Maksymalny dopuszczalny czas przestoju. Określa, jak szybko należy przywrócić działanie systemu.

Cel punktu odzyskiwania (RPO): Maksymalna dopuszczalna utrata danych. Określa częstotliwość tworzenia kopii zapasowych.

Wymagania RTO/RPO Zalecana strategia tworzenia kopii zapasowych
RPO: Godziny, RTO: Godziny Pełny dziennik dzienny + dziennik transakcji co 1-2 godziny
RPO: Minuty, RTO: Godziny Codzienne pełne kopie zapasowe + kopie dziennika co 15-30 minut
RPO: bliskie zeru, RTO: minuty Zawsze włączone grupy dostępności + częste kopie zapasowe dziennika
RPO: dni, RTO: dni Pełny tygodniowy + dzienny różnicowy

10.2 Tworzenie harmonogramu kopii zapasowych

10.2.1 Zalecenia dotyczące częstotliwości

Typowy harmonogram tworzenia kopii zapasowych baz danych produkcyjnych:

  • Pełne kopie zapasowe: Tygodniowo (w niedzielny wieczór, gdy aktywność jest niska)
  • Kopie zapasowe różnicowe: Codziennie (każdej nocy)
  • Kopie zapasowe dziennika transakcji: Co 15-30 minut w godzinach pracy
  • Kopie zapasowe typu „tylko kopia”: W razie potrzeby do testowania lub rozwoju

10.2.2 Równoważenie wydajności i ochrony

Przy planowaniu należy wziąć pod uwagę następujące czynniki:

  • Godziny poza szczytem: Wykonuj pełne kopie zapasowe w okresach niskiej aktywności
  • Wpływ na zasoby: Kompresja zmniejsza wejście/wyjście, ale zwiększa użycie procesora
  • Przepustowość sieci: Zaplanuj tworzenie kopii zapasowych sieci, gdy ruch jest niski
  • Okna kopii zapasowej: Upewnij się, że kopie zapasowe zostaną wykonane przed godzinami pracy

10.3 Najlepsze praktyki dotyczące przechowywania kopii zapasowych

10.3.1 Przechowywanie na miejscu i poza siedzibą firmy

Kopie zapasowe na miejscu:

  • Krótszy czas tworzenia kopii zapasowych i przywracania
  • Dolne cost do dostępu o wysokiej częstotliwości
  • Narażone na lokalne katastrofy
  • Najlepiej sprawdza się w przypadku scenariuszy szybkiego odzyskiwania

Kopie zapasowe poza siedzibą firmy:

  • Ochrona przed katastrofami w konkretnym miejscu
  • Zgodność z wymogami redundancji geograficznej
  • Dłuższy czas przywracania
  • Niezbędne do odzyskiwania po awarii

10.3.2 Opcje tworzenia kopii zapasowych w chmurze

Zalety przechowywania danych w chmurze:

  • Magazyn obiektów Blob platformy Azure: Tubylec SQL Server integracja, cost-skuteczne w przypadku rzadkiego dostępu
  • Amazonka S3: Bardzo trwałe i elastyczne poziomy magazynowe
  • Pamięć w chmurze Google: Konkurencyjne ceny, globalna dostępność

10.3.3 Zasady przechowywania kopii zapasowych

Przykładowa polityka przechowywania:

  • Przechowuj codzienne kopie zapasowe przez 7 dni
  • Przechowuj cotygodniowe kopie zapasowe przez 4 tygodnie
  • Przechowuj miesięczne kopie zapasowe przez 12 miesięcy
  • Przechowuj kopie zapasowe przez 7 lat (zgodność)

10.4 Kompresja i szyfrowanie kopii zapasowych

Korzyści wynikające z kompresji:

  • Zmniejsza rozmiar pliku kopii zapasowej o 50-70%
  • Skraca czas tworzenia kopii zapasowej
  • Obniża pojemność magazynowąosts
  • Zmniejsza przepustowość sieci w przypadku zdalnych kopii zapasowych

Najlepsze praktyki szyfrowania:

  • Zawsze szyfruj kopie zapasowe zawierające poufne dane
  • Użyj szyfrowania AES 256-bit
  • Bezpieczny certyfikat lub zarządzanie kluczami
  • Udokumentuj klucze szyfrujące i przechowuj je osobno

10.5 Testowanie i weryfikowanie kopii zapasowych

10.5.1 Regularne testowanie przywracania

Przeprowadź kwartalne lub miesięczne testy procedur przywracania:

  1. Przywracanie kopii zapasowych do środowiska testowego
  2. Sprawdź integralność i kompletność danych
  3. Sprawdź funkcjonalność aplikacji
  4. Czas przywrócenia dokumentu (weryfikacja RTO)
  5. Zidentyfikuj i rozwiąż wszelkie problemy

10.5.2 Korzystanie z polecenia RESTORE VERIFYONLY

Zautomatyzuj walidację kopii zapasowych:

-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO

Uruchom weryfikację natychmiast po zakończeniu tworzenia kopii zapasowej lub w ramach zaplanowanej konserwacji.

10.6 Automatyzacja i monitorowanie kopii zapasowych

10.6.1 SQL Server Praca agenta

Utwórz zautomatyzowane zadania tworzenia kopii zapasowych:

  1. Rozszerzać SQL Server AgentExternal Link w SSMS
  2. Kliknij prawym przyciskiem myszy Oferty pracy na której: Nowa praca
  3. Nadaj zadaniu nazwę (np. „Codzienna pełna kopia zapasowa”)
  4. dodaj Krok z poleceniami tworzenia kopii zapasowych T-SQL
  5. Stwórz Plan na czas wykonania
  6. Konfigurowanie Powiadomienia na sukces/porażkę

10.6.2 Plany konserwacji

SQL Server Plany konserwacji zapewniają wizualny interfejs do automatyzacji tworzenia kopii zapasowych:

  1. Przejdź do Zarząd -> Plany konserwacji
  2. Kliknij prawym przyciskiem myszy i wybierz Kreator planu konserwacji
  3. Wybierz zadania tworzenia kopii zapasowych do zautomatyzowania
  4. Skonfiguruj harmonogram i opcje tworzenia kopii zapasowych
  5. Skonfiguruj raportowanie i rejestrowanie

10.6.3 Alerty i powiadomienia dotyczące kopii zapasowych

Skonfiguruj powiadomienia e-mail:

  • Skonfiguruj pocztę bazy danych w SQL Server
  • Utwórz alerty dotyczące awarii kopii zapasowych
  • Monitoruj historię zadań tworzenia kopii zapasowych
  • Wysyłaj raporty podsumowujące do administratorów

10.7 Dokumentacja i planowanie odzyskiwania po awarii

Prowadzenie kompleksowej dokumentacji:

  • Harmonogram tworzenia kopii zapasowych: Kiedy i co jest objęte kopią zapasową
  • Zasady przechowywania danych: Jak długo przechowywane są kopie zapasowe
  • Miejsca przechowywania: Gdzie przechowywane są kopie zapasowe
  • Procedury przywracania: Instrukcje odzyskiwania krok po kroku
  • Informacje kontaktowe: Kluczowy personel i dostawcy
  • Wyniki testu odzyskiwania: Udokumentowane wyniki testów

11. zaawansowany SQL Server Scenariusze tworzenia kopii zapasowych

11.1 Tworzenie kopii zapasowych bardzo dużych baz danych (VLDB)

11.1.1 Strategie plików i grup plików

W przypadku baz danych przekraczających kilkaset gigabajtów:

  • Oddziel dane tylko do odczytu i dane do odczytu i zapisu do różnych grup plików
  • Rzadko twórz kopie zapasowe grup plików przeznaczonych tylko do odczytu
  • Skoncentruj częste tworzenie kopii zapasowych na aktywnych grupach plików
  • Korzystaj z kopii zapasowych na poziomie plików, aby zapewnić szczegółową kontrolę

Przykładowa kopia zapasowa pliku:

-- Back up specific file
BACKUP DATABASE LargeDB 
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO

11.1.2 Optymalizacja wydajności kopii zapasowej

Poprawa wydajności tworzenia kopii zapasowych VLDB:

  • Kopie zapasowe paskowane: Jednoczesny zapis do wielu plików
  • Kompresja: Zmniejsz wymagania dotyczące wejścia/wyjścia i pamięci masowej
  • Wiele urządzeń do tworzenia kopii zapasowych: Równoległe operacje tworzenia kopii zapasowych
  • Szybkie przechowywanie: Użyj dysków SSD do tworzenia kopii zapasowych
  • Liczba buforów: Zwiększ opcję BUFFERCOUNT
  • Maksymalny rozmiar transferu: Zoptymalizuj ustawienie MAXTRANSFERSIZE
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
   DISK = 'D:\Backups\LargeDB_2.bak',
   DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
     BUFFERCOUNT = 100,
     MAXTRANSFERSIZE = 4194304;
GO

11.2 Kopia zapasowa w grupach dostępności Always On

Grupy dostępności Always On rozdzielają obciążenie kopii zapasowych pomiędzy repliki:

  • Skonfiguruj preferencje kopii zapasowej (podstawowej, pomocniczej lub dowolnej repliki)
  • Przenieś kopie zapasowe do replik pomocniczych, aby zmniejszyć obciążenie podstawowe
  • Używaj kopii zapasowych COPY_ONLY w replikach pomocniczych
  • Monitoruj ustawienia priorytetów kopii zapasowych
-- Check backup preferences
SELECT 
    ag.name AS AvailabilityGroup,
    ar.replica_server_name,
    ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO

11.3 Kopia zapasowa do tworzenia kopii lustrzanych bazy danych

W scenariuszach lustrzanego odbicia bazy danych:

  • Regularnie twórz kopię zapasową głównej bazy danych
  • Kopie zapasowe dziennika transakcji są niezbędne do tworzenia kopii lustrzanych
  • Baza danych lustrzanych jest w stanie PRZYWRACANIA (nie można jej bezpośrednio utworzyć kopii zapasowej)
  • Rozważ wykonanie kopii zapasowej lustra po przejściu w tryb failover

11.4 Kopia zapasowa w usłudze Azure Blob Storage

SQL Server możliwość tworzenia kopii zapasowych bezpośrednio w usłudze Azure Blob Storage:

  1. Utwórz konto usługi Azure Storage
  2. Stwórz SQL Server poświadczenie do uwierzytelniania platformy Azure
  3. Użyj składni adresu URL dla miejsca docelowego kopii zapasowej
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO

-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
     STATS = 10;
GO

11.5 Kopia zapasowa do adresu URL

Korzyści z tworzenia kopii zapasowej w adresie URL:

  • Nieograniczona pojemność pamięci masowej w chmurze
  • Automatyczna obsługa nadmiarowości geograficznej
  • Model cenowy typu „pay-as-you-go”
  • Nie jest wymagane żadne miejsce na dysku lokalnym
  • Obsługuje do 64 adresów URL na kopię zapasową (striping)

11.6 Kopie zapasowe w trybie pasowym dla zwiększenia wydajności

Kopie zapasowe podzielone na paski dzielą dane na wiele plików, co zapewnia szybsze wejście/wyjście:

-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
   DISK = 'D:\Backups\AW_Stripe2.bak',
   DISK = 'E:\Backups\AW_Stripe3.bak',
   DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO

Uwaga: Do przywrócenia wymagane są wszystkie pliki stripe. Brak któregokolwiek pliku uniemożliwia korzystanie z kopii zapasowej.

12. Rozwiązywanie Problemów SQL Server Problemy z tworzeniem kopii zapasowych

12.1 Typowe błędy tworzenia kopii zapasowych i ich rozwiązania

Błąd: „Błąd systemu operacyjnego 5: Dostęp zabroniony”

  • Przyczyna: SQL Server konto usługi nie ma uprawnień
  • Rozwiązanie: Udziel uprawnień do zapisu SQL Server konto usługi w folderze kopii zapasowej

Błąd: „Nie można otworzyć urządzenia zapasowego… Błąd urządzenia lub urządzenie jest offline”

  • Przyczyna: Nieprawidłowa ścieżka lub niedostępny udział sieciowy
  • Rozwiązanie: Sprawdź, czy ścieżka istnieje, sprawdź łączność sieciową i upewnij się, że na dysku jest wystarczająco dużo miejsca

Błąd: „Za mało miejsca na dysku”

  • Przyczyna: Za mało miejsca na dysku na kopię zapasową
  • Rozwiązanie: Zwolnij miejsce na dysku, użyj kompresji, wykonaj kopię zapasową w innej lokalizacji

Błąd: „Baza danych w użyciu. Baza danych jest używana przez innych użytkowników”

  • Przyczyna: Aktywne połączenia podczas przywracania
  • Rozwiązanie: Użyj opcji WITH REPLACE lub najpierw odłącz użytkowników

12.2 Problemy z wydajnością kopii zapasowej

Diagnozuj powolne tworzenie kopii zapasowych:

  • Sprawdź wydajność wejścia/wyjścia dysku za pomocą monitor wydajności
  • Monitoruj postęp tworzenia kopii zapasowej za pomocą opcji STATS
  • Review SQL Server dziennik błędów dla wąskich gardeł
  • Rozważ kompresję, aby zmniejszyć wejście/wyjście
  • Użyj kopii zapasowych pasmowych na wielu dyskach

Zapytanie o monitorowanie postępu tworzenia kopii zapasowej:

SELECT 
    session_id,
    command,
    percent_complete,
    CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
    + CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
    + CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
    CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
    + CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
    + CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
    dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests 
WHERE command LIKE 'BACKUP%';
GO

12.3 Problemy z przestrzenią i przechowywaniem

Zapobiegaj problemom z przechowywaniem:

  • Wdrożenie zasad retencji: Automatyczne usuwanie starych kopii zapasowych
  • Użyj kompresji: Zmniejsz rozmiar pliku kopii zapasowej o 50-70%
  • Archiwum do tańszego przechowywania: Przenieś stare kopie zapasowe do magazynu archiwalnego
  • Monitoruj przestrzeń dyskową: Skonfiguruj alerty informujące o małej ilości miejsca na dysku
  • Szacowany rozmiar kopii zapasowej: Oblicz oczekiwany rozmiar przed wykonaniem kopii zapasowej

Szacowany rozmiar kopii zapasowej:

-- Estimate full backup size
EXEC sp_spaceused;
GO

12.4 Problemy z uprawnieniami i dostępem

Wymagane uprawnienia do tworzenia kopii zapasowych:

  • BAZA DANYCH ZAPASOWYCH pozwolenie
  • operator_kopii_zapasowej członkostwo w roli
  • sysadmin rola serwera (dla wszystkich operacji tworzenia kopii zapasowych)

Udziel uprawnień do tworzenia kopii zapasowych:

-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO

-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO

12.5 Uszkodzone pliki kopii zapasowej

Wykrywanie i obsługa uszkodzonych kopii zapasowych:

Sprawdź integralność kopii zapasowej:

RESTORE VERIFYONLY 
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO

Włącz SUMA KONTROLNA dla przyszłych kopii zapasowych:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO

Strategie zapobiegawcze:

  • Zawsze używaj opcji SUMA KONTROLNA podczas tworzenia kopii zapasowej
  • Weryfikuj kopie zapasowe natychmiast po ich utworzeniu
  • Testy przywracają się regularnie
  • Przechowuj kopie zapasowe na niezawodnym nośniku
  • Utrzymuj wiele kopii zapasowych

12.6 Odzyskiwanie danych z uszkodzonych plików kopii zapasowej

Jeżeli Twoje pliki kopii zapasowej są uszkodzone i nadal chcesz odzyskać z nich dane, możesz skorzystać z narzędzi innych firm, takich jak DataNumen SQL Recovery, jak poniżej:

  1. Start DataNumen SQL Recovery.
  2. Wybierz uszkodzony plik kopii zapasowej jako plik źródłowy, zmieniając filtr na „Wszystkie pliki (*.*)”:
    Wybierz uszkodzony plik kopii zapasowej (*.bak) jako plik źródłowy do odzyskania.
  3. W razie potrzeby ustaw plik wyjściowy .MDF.
  4. Kliknij „Star„Odzyskiwanie” i postępuj zgodnie z instrukcjami, aby odzyskać bazę danych.
  5. Po zakończeniu procesu odzyskiwania pojawi się nowa baza danych odzyskiwania. SQL Server który zawiera wszystkie odzyskane dane.

Użyj DataNumen SQL Recovery odzyskać dane z uszkodzonego SQL Server plik kopii zapasowej (*.bak).

13. SQL Server Bezpieczeństwo kopii zapasowych

13.1 Zabezpieczanie plików kopii zapasowych

Chroń pliki kopii zapasowych przed nieautoryzowanym dostępem:

  • Uprawnienia systemu plików: Ogranicz dostęp wyłącznie do autoryzowanych administratorów
  • Bezpieczeństwo sieci: Używaj bezpiecznych protokołów do tworzenia kopii zapasowych w sieci
  • Bezpieczeństwo fizyczne: Przechowuj nośniki kopii zapasowych w bezpiecznych lokalizacjach
  • Rejestrowanie dostępu: Kontrola dostępu do pliku kopii zapasowej

13.2 Opcje szyfrowania

SQL Server obsługuje transparentne szyfrowanie kopii zapasowych:

Utwórz certyfikat do szyfrowania:

-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO

-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO

Szyfrowana kopia zapasowa:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
     ENCRYPTION (
         ALGORITHM = AES_256,
         SERVER CERTIFICATE = BackupCertificate
     );
GO

Ważne: Utwórz kopię zapasową certyfikatu i klucza prywatnego osobno. Bez nich nie będzie można przywrócić zaszyfrowanych kopii zapasowych.

-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
    FILE = 'C:\Certificates\BackupCertificate.key',
    ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO

13.3 Kontrola dostępu i uprawnienia

Wdrożenie zasady najmniejszych uprawnień:

  • Udzielaj uprawnień do tworzenia kopii zapasowych tylko niezbędnym kontom
  • Używaj oddzielnych kont do operacji tworzenia kopii zapasowych i przywracania
  • Unikaj używania konta sa do tworzenia kopii zapasowych
  • Regularnie sprawdzaj uprawnienia do tworzenia kopii zapasowych
  • Usuń uprawnienia, gdy nie są już potrzebne

13.4 Zagadnienia dotyczące zgodności

Spełnienie wymogów regulacyjnych:

  • RODO: Szyfruj kopie zapasowe zawierające dane osobowe, wdrażaj zasady przechowywania
  • HIPAA: Szyfruj PHI w kopiach zapasowych, kontroluj dostęp, utrzymuj ślady audytu
  • PCI DSS: Szyfruj kopie zapasowe danych posiadaczy kart, bezpieczne przechowywanie kopii zapasowych
  • SOX: Utrzymywanie integralności kopii zapasowych i zasad przechowywania dokumentów

14. Monitorowanie i utrzymywanie operacji tworzenia kopii zapasowych

14.1 Śledzenie historii kopii zapasowych

SQL Server przechowuje historię kopii zapasowych w bazie danych msdb:

-- View recent backup history
SELECT 
    bks.database_name,
    bks.backup_start_date,
    bks.backup_finish_date,
    CASE bks.type
        WHEN 'D' THEN 'Full'
        WHEN 'I' THEN 'Differential'
        WHEN 'L' THEN 'Log'
        ELSE 'Other'
    END AS backup_type,
    bks.backup_size / 1024 / 1024 AS backup_size_mb,
    bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO

Znajdź bazy danych bez ostatnich kopii zapasowych:

SELECT 
    d.name AS database_name,
    MAX(bs.backup_finish_date) AS last_backup_date,
    DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4  -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
    OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO

14.2 Korzystanie SQL Server Raporty

SQL Server Management Studio zawiera wbudowane raporty kopii zapasowych:

  1. Kliknij prawym przyciskiem myszy bazę danych w Eksploratorze obiektów
  2. Wybierz Raporty -> Raporty standardowe
  3. Wybierz z dostępnych raportów:
    • Wydarzenia związane z kopią zapasową i przywracaniem
    • Wszystkie kopie zapasowe
    • Dziennik transakcji Status wysyłki

14.3 Narzędzia monitorujące innych firm

Rozwiązania do monitoringu komercyjnego:

  • SQL Sentry: Kompleksowe monitorowanie i ostrzeganie
  • Monitor Redgate SQL: Monitorowanie i diagnostyka w czasie rzeczywistymostics
  • Analizator wydajności bazy danych SolarWinds: Monitorowanie wydajności i kopii zapasowych
  • Diagnoza SQL IderaostMenedżer ic: Walidacja kopii zapasowej i alerty

14.4 Kontrole stanu kopii zapasowej

Utwórz procedurę kontroli stanu zdrowia:

-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
    -- Check for databases without recent full backup
    SELECT 
        'Missing Recent Full Backup' AS issue,
        d.name AS database_name,
        ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
    FROM sys.databases d
    LEFT JOIN msdb.dbo.backupset bs 
        ON d.name = bs.database_name AND bs.type = 'D'
    WHERE d.database_id > 4
    GROUP BY d.name
    HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
        AND j.name LIKE '%backup%';
END
GO

15. SQL Server Często zadawane pytania dotyczące kopii zapasowych

15.1 Jak często powinienem wykonywać kopie zapasowe SQL Server?

Częstotliwość tworzenia kopii zapasowych zależy od celu punktu odzyskiwania (RPO):

  • Krytyczne bazy danych produkcyjnych: Pełny tygodniowy, różnicowy dzienny, rejestr co 15-30 minut
  • Standardowe bazy danych produkcyjnych: Pełny tygodniowy, różnicowy dzienny, rejestr co 1-2 godziny
  • Bazy danych rozwojowych: Pełny dzienny lub tygodniowy
  • Bazy danych tylko do odczytu: Pełny po każdej zmianie danych

15.2 Jaka jest różnica pomiędzy kopią zapasową pełną a różnicową?

Pełna kopia zapasowa obejmuje całą bazę danych, natomiast kopia różnicowa uwzględnia tylko zmiany od ostatniej pełnej kopii. Kopie różnicowe są mniejsze i szybsze, ale do przywrócenia bazy wymagają pełnej kopii zapasowej.

15.3 Czy mogę wykonać kopię zapasową? SQL Server Podczas działania?

Tak, SQL Server Obsługuje kopie zapasowe online. Użytkownicy mogą kontynuować pracę podczas operacji tworzenia kopii zapasowej. SQL Server wykorzystuje dziennik transakcji do zachowania spójności, gwarantując poprawność kopii zapasowych nawet w przypadku równoczesnych modyfikacji.

15.4 Jak długo trwa SQL Server Kopia zapasowa?

Czas trwania kopii zapasowej różni się w zależności od:

  • Rozmiar bazy danych: Większe bazy danych zajmują więcej czasu
  • Typ kopii zapasowej: Pełne kopie zapasowe zajmują najwięcej czasu
  • Kompresja: Może zwiększyć czas procesora, ale skrócić całkowity czas trwania
  • Prędkość przechowywania: Dyski SSD znacznie szybsze niż dyski HDD
  • Obciążenie serwera: Większa aktywność spowalnia tworzenie kopii zapasowych

Typowe zakresy: utworzenie pełnej kopii zapasowej bazy danych o rozmiarze 10 GB z uwzględnieniem kompresji na nowoczesnym sprzęcie może zająć od 5 do 15 minut.

15.5 Gdzie powinienem przechowywać SQL Server Kopie zapasowe?

Najlepsza praktyka: Postępuj zgodnie z zasadą 3-2-1:

  • 3 kopie twoich danych
  • 2 różne typy pamięci masowej (np. dysk i taśma/chmura)
  • 1 kopia poza witrynę

Polecane lokalizacje:

  • Dysk lokalny do szybkiego odzyskiwania
  • Pamięć sieciowa do scentralizowanego zarządzania
  • Przechowywanie w chmurze (Azure, AWS) na potrzeby odzyskiwania po awarii

15.6 Co to jest rozszerzenie pliku .bak?

Rozszerzenie .bak jest domyślnym rozszerzeniem pliku SQL Server pliki kopii zapasowych. To konwencja, a nie wymóg – SQL Server Kopie zapasowe działają z dowolnym rozszerzeniem pliku. Jednak użycie rozszerzenia .bak ułatwia identyfikację plików kopii zapasowych i jest standardem branżowym.

15.7 Jak wykonać kopię zapasową SQL Server do Dysku Sieciowego?

Aby wykonać kopię zapasową na dysku sieciowym:

  1. Zapewniać SQL Server konto usługi ma uprawnienia do zapisu w udziale sieciowym
  2. Użyj ścieżki UNC w poleceniu kopii zapasowej: \\ServerName\ShareName\BackupFile.bak
  3. Przetestuj łączność przed zaplanowaniem automatycznych kopii zapasowych
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO

15.8 Czy mogę kompresować? SQL Server Kopie zapasowe?

Tak, SQL Server obsługuje natywną kompresję kopii zapasowych (wersja Enterprise lub Standard Edition)tarting SQL Server 2016 SP1). Kompresja zazwyczaj zmniejsza rozmiar kopii zapasowej o 50–70% i często skraca czas tworzenia kopii zapasowej poprzez redukcję operacji wejścia/wyjścia, choć zwiększa obciążenie procesora.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO

16. Wniosek

16.1 Najważniejsze dania na wynos

Efektywne SQL Server Strategie tworzenia kopii zapasowych chronią Twoje dane i zapewniają ciągłość działania. Pamiętaj o tych najważniejszych kwestiach:

  • Poznaj typy kopii zapasowych: Wybierz odpowiednie typy kopii zapasowych (pełna, różnicowa, dziennika transakcji) na podstawie wymagań dotyczących odzyskiwania
  • Wybierz właściwy model odzyskiwania: Pełne odzyskiwanie danych krytycznych, proste dla baz danych programistycznych
  • Wdrażanie harmonogramu tworzenia kopii zapasowych: Regularne pełne kopie zapasowe w połączeniu z kopiami różnicowymi i kopiami dziennika minimalizują utratę danych
  • Procedury przywracania testów: Kopie zapasowe są wartościowe tylko wtedy, gdy można je pomyślnie przywrócić
  • Automatyzacja i monitorowanie: Użyj SQL Server Agent, plany konserwacji i narzędzia monitorujące
  • Bezpieczne kopie zapasowe: Szyfruj poufne dane i kontroluj dostęp do plików kopii zapasowych
  • Przechowuj kopie poza siedzibą firmy: Zabezpiecz się przed katastrofami w całej lokalizacji dzięki przechowywaniu w chmurze lub zdalnemu
  • Udokumentuj wszystko: Prowadź przejrzystą dokumentację procedur tworzenia kopii zapasowych i odzyskiwania danych

16.2 Następne kroki i zasoby

Aby poprawić swoje SQL Server implementacja kopii zapasowej:

  • Oceń swoją obecną strategię tworzenia kopii zapasowych w kontekście najlepszych praktyk
  • Oblicz swoje wymagania RTO i RPO
  • Przetestuj procedury przywracania w systemach nieprodukcyjnych
  • Regularnie przeglądaj i aktualizuj harmonogramy tworzenia kopii zapasowych
  • Wdrożenie zautomatyzowanego monitorowania i powiadamiania
  • Szkolenie członków zespołu w zakresie procedur przywracania

Dodatkowe zasoby:

  • Microsoft SQL Server Dokumentacja: Oficjalne wskazówki dotyczące tworzenia kopii zapasowych i przywracania danych
  • SQL Server fora społeczności kopii zapasowych: dzielenie się doświadczeniami i rozwiązaniami
  • Certyfikaty profesjonalne: Microsoft Certified: Azure Database Administrator Associate

16.3 Zalecane narzędzia i rozwiązania

Na podstawie różnych scenariuszy:

Mały biznes:

  • Tubylec SQL Server kopia zapasowa z harmonogramem SQL Server Praca agenta
  • SQLBackupAndFTP do integracji w chmurze
  • Kopia zapasowa Azure dla SQL Server

Średnie przedsiębiorstwa:

  • SQL Server Plany konserwacji
  • Narzędzia innych firm, takie jak Redgate SQL Backup Pro
  • Kopia zapasowa Veeam dla SQL Server

Duże przedsiębiorstwa:

  • Quest LiteSpeed ​​dla maksymalnej kompresji
  • Commvault lub Veritas NetBackup do zarządzania kopiami zapasowymi w przedsiębiorstwie
  • Grupy dostępności Always On zapewniające wysoką dostępność

SQL Server Kopie zapasowe są podstawą administrowania bazami danych. Dzięki odpowiedniemu planowaniu, wdrożeniu i testowaniu możesz zapewnić ochronę swoich danych i możliwość ich odzyskania w razie potrzeby.tarwdrażanie tych najlepszych praktyk już dziś w celu zabezpieczenia SQL Server bazy danych.


O autorze

Yuan Sheng jest starszym administratorem baz danych (DBA) z ponad 10-letnim doświadczeniem w SQL Server środowiskach i zarządzaniu bazami danych przedsiębiorstw. Z powodzeniem rozwiązał setki scenariuszy odzyskiwania baz danych w firmach z branży usług finansowych, opieki zdrowotnej i produkcji.

Yuan specjalizuje się w SQL Server Odzyskiwanie baz danych, rozwiązania wysokiej dostępności i optymalizacja wydajności. Jego bogate doświadczenie praktyczne obejmuje zarządzanie wieloterabajtowymi bazami danych, wdrażanie grup Always On Availability Groups oraz opracowywanie zautomatyzowanych strategii tworzenia kopii zapasowych i odzyskiwania danych dla systemów biznesowych o znaczeniu krytycznym.

Dzięki swojej wiedzy technicznej i praktycznemu podejściu Yuan skupia się na tworzeniu kompleksowych przewodników, które pomagają administratorom baz danych i specjalistom IT rozwiązywać złożone problemy SQL Server skutecznie stawia czoła wyzwaniom. Jest na bieżąco z najnowszymi SQL Server wydania i rozwijające się technologie baz danych firmy Microsoft, regularnie testując scenariusze odzyskiwania, aby mieć pewność, że jego zalecenia odzwierciedlają najlepsze praktyki stosowane w praktyce.

Masz pytania dot SQL Server Potrzebujesz pomocy w odzyskiwaniu danych lub dodatkowych wskazówek dotyczących rozwiązywania problemów z bazą danych? Yuan zaprasza opinie i sugestie w celu udoskonalenia tych zasobów technicznych.

Podziel się teraz: