Tworzenie kopii zapasowej dziennika transakcji
Dotyczy:programu SQL Server
W tym artykule opisano sposób tworzenia kopii zapasowej dziennika transakcji w programie SQL Server przy użyciu programu SQL Server Management Studio, Programu Azure Data Studio, języka Transact-SQL lub programu PowerShell.
Ograniczenia
Instrukcja BACKUP
nie jest dozwolona w ramach jawnej lub niejawnej transakcji. Jawna transakcja to transakcja, w której jawnie definiujesz zarówno początek, jak i koniec transakcji.
Kopie zapasowe dziennika transakcji bazy danych systemu master
nie są obsługiwane.
Zalecenia
Jeśli baza danych używa modelu odzyskiwania z pełnym lub masowym rejestrowaniem , należy regularnie tworzyć kopie zapasowe dziennika transakcji, aby chronić swoje dane i zapobiec zapełnieniu się dziennika transakcji . To obcina dziennik, wspierając przywracanie bazy danych do określonego punktu w czasie.
Domyślnie każda pomyślna operacja tworzenia kopii zapasowej dodaje wpis w dzienniku błędów programu SQL Server i w dzienniku zdarzeń systemu. W przypadku częstego tworzenia kopii zapasowej dziennika te komunikaty o powodzeniu szybko gromadzą się, co powoduje ogromne dzienniki błędów, co utrudnia znalezienie innych komunikatów. W takich przypadkach można pominąć te wpisy dziennika przy użyciu flagi śledzenia 3226, jeśli żaden ze skryptów nie zależy od tych wpisów, zobacz Trace Flags (Transact-SQL).
Uprawnienia
Przed rozpoczęciem sprawdź prawidłowe uprawnienia zarówno na poziomie wystąpienia, jak i na poziomie magazynu.
Uprawnienia silnika bazy danych
Wymagane uprawnienia BACKUP DATABASE
i BACKUP LOG
są domyślnie przyznawane członkom roli stałej serwera sysadmin oraz członkom ról stałych bazy danych db_owner i db_backupoperator.
Uprawnienia do tworzenia kopii zapasowej urządzenia
Problemy z własnością i uprawnieniami w pliku fizycznym urządzenia kopii zapasowej mogą zakłócać operację tworzenia kopii zapasowej. Konto systemu operacyjnego, na którym działa usługa SQL Server, musi mieć możliwość odczytu z i zapisu na urządzeniu. Problemy z uprawnieniami w pliku fizycznym urządzenia kopii zapasowej nie są oczywiste, dopóki nie spróbujesz uzyskać dostępu do zasobu fizycznego podczas próby utworzenia kopii zapasowej lub przywrócenia.
Notatka
sp_addumpdevice, który dodaje wpis dla urządzenia kopii zapasowej w tabelach systemowych, nie sprawdza uprawnień dostępu do plików.
Korzystanie z programu SQL Server Management Studio
Notatka
Kroki opisane w tej sekcji dotyczą również programu Azure Data Studio.
Po nawiązaniu połączenia z odpowiednim wystąpieniem aparatu bazy danych programu SQL Server, wybierz nazwę serwera w Eksploratorze obiektów, aby rozwinąć drzewo serwerów.
Rozwiń węzeł Bazy danych, a w zależności od bazy danych wybierz bazę danych użytkownika lub rozwiń Systemowe bazy danych i wybierz bazę danych systemową.
Kliknij prawym przyciskiem myszy bazę danych, wskaż polecenie Tasks, a następnie wybierz pozycję Utwórz kopię zapasową. Zostanie wyświetlone okno dialogowe Kopia zapasowa bazy danych.
W polu listy Database sprawdź nazwę bazy danych. Opcjonalnie możesz wybrać inną bazę danych z listy.
Sprawdź, czy model odzyskiwania to FULL lub BULK_LOGGED.
W polu listy Backup type wybierz Transaction Log.
(opcjonalnie) Wybierz Kopia tylko do kopiowania, aby utworzyć kopię zapasową. kopii zapasowej tylko do kopiowania to kopia zapasowa programu SQL Server, która jest niezależna od sekwencji konwencjonalnych kopii zapasowych programu SQL Server, zobacz kopii zapasowych tylko do kopiowania.
Notatka
Po wybraniu opcji różnicowej nie można utworzyć kopii zapasowej tylko do kopiowania.
Zaakceptuj domyślną nazwę zestawu kopii zapasowych sugerowaną w polu tekstowym nazwa lub wprowadź inną nazwę zestawu kopii zapasowych.
(opcjonalnie) W polu tekstowym Opis wprowadź opis zestawu kopii zapasowych.
Określ, kiedy zestaw kopii zapasowych wygaśnie:
Aby zestaw kopii zapasowych wygasał po określonej liczbie dni, wybierz pozycję Po (opcja domyślna) i wprowadź liczbę dni, po których od utworzenia zestawu, wygaśnie zestaw. Ta wartość może wynosić od 0 do 99999 dni; wartość 0 dni oznacza, że zestaw kopii zapasowych nigdy nie wygasa.
Wartość domyślna jest ustawiana w Domyślne przechowywanie nośników kopii zapasowych (w dniach) opcji właściwości serwera okno dialogowe (Ustawienia bazy danych strony). Aby uzyskać dostęp do tego okna dialogowego, kliknij prawym przyciskiem myszy nazwę serwera w Eksploratorze obiektów i wybierz właściwości; następnie wybierz stronę Ustawienia bazy danych.
Aby zestaw kopii zapasowych wygasał w określonym dniu, wybierz pozycję Wi wprowadź datę wygaśnięcia zestawu.
Wybierz typ miejsca docelowego kopii zapasowej, wybierając pozycję Dysk, adres URL lub Taśma. Aby wybrać ścieżki maksymalnie 64 dysków lub napędów taśmowych zawierających jeden zestaw mediów, wybierz pozycję Dodaj. Wybrane ścieżki są wyświetlane w polu listy Backup do.
Aby usunąć miejsce docelowe kopii zapasowej, wybierz je i wybierz pozycję Usuń. Aby wyświetlić zawartość miejsca docelowego kopii zapasowej, wybierz ją i wybierz pozycję Zawartość.
Aby wyświetlić lub wybrać opcje zaawansowane, wybierz opcję Opcje w okienku Wybierz stronę.
Wybierz opcję Zastąp nośnik, wybierając jedną z następujących opcji:
Utwórz kopię zapasową na istniejącym zestawie multimediów
W przypadku tej opcji wybierz opcję Dołącz do istniejącego zestawu kopii zapasowych lub Zastąp wszystkie istniejące zestawy kopii zapasowych, zobacz zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych (SQL Server).
(opcjonalnie) Wybierz Sprawdź nazwę zestawu multimediów i wygaśnięcie zestawu kopii zapasowej, aby spowodować, że operacja tworzenia kopii zapasowej zweryfikuje datę i godzinę wygaśnięcia zestawu multimediów i zestawu kopii zapasowych.
(opcjonalnie) wprowadź nazwę w polu tekstowym Nazwa zestawu multimediów. Jeśli żadna nazwa nie zostanie określona, zostanie utworzony nośnik o pustej nazwie. Jeśli określisz nazwę zestawu multimediów, nośnik (taśma lub dysk) jest sprawdzany, czy rzeczywista nazwa jest zgodna z nazwą wprowadzoną tutaj.
Jeśli pozostawisz pustą nazwę nośnika i zaznaczysz pole wyboru, aby sprawdzić zgodność z nośnikiem, powodzenie oznacza, że nazwa nośnika na nośniku również jest pusta.
Wykonaj kopię zapasową na nowy zestaw multimediów i wymaż wszystkie istniejące zestawy kopii zapasowych
W przypadku tej opcji wprowadź nazwę w polu tekstowym Nazwa nowego zestawu multimediów, a opcjonalnie opisz zestaw multimediów w polu tekstowym Nowy zestaw multimediów, zobacz Zestawy multimediów, Rodziny multimediów i Zestawy kopii zapasowych (SQL Server).
W sekcji niezawodność opcjonalnie sprawdź:
Sprawdź kopię zapasową po zakończeniu.
Wykonaj sumę kontrolną przed zapisem do i (opcjonalnie)Kontynuuj po wystąpieniu błędu sumy kontrolnej.
Aby uzyskać informacje na temat sum kontrolnych, przeczytaj sekcję Możliwe błędy nośnika podczas tworzenia kopii zapasowej i przywracania (SQL Server).
W sekcji Dziennika transakcji:
W przypadku rutynowych kopii zapasowych dziennika zachowaj wybór domyślny, Obcinanie dziennika transakcji przez usunięcie nieaktywnych wpisów.
Aby utworzyć kopię zapasową końca dziennika (aktywnego dziennika), sprawdź Utwórz kopię zapasową końca dziennika i pozostaw bazę danych w stanie przywracania.
Kopia zapasowa dziennika końcowego jest wykonywana po niepowodzeniu tworzenia kopii zapasowej ogona dziennika, aby zapobiec utracie pracy. Utwórz kopię zapasową aktywnego dziennika (kopii zapasowej dziennika końcowego) zarówno po awarii, jak i przed rozpoczęciem przywracania bazy danych lub w przypadku przechodzenia w tryb failover do pomocniczej bazy danych. Wybranie tej opcji jest równoważne określeniu opcji NORECOVERY w instrukcji BACKUP LOG języka Transact-SQL.
Aby uzyskać więcej informacji na temat kopii zapasowych dziennika końcowego, zajrzyj do kopii zapasowych dziennika końcowego (SQL Server).
Jeśli tworzysz kopię zapasową na napędzie taśmowym (zgodnie z opisem w sekcji Destination na stronie Ogólne), opcja Zwolnij taśmę po wykonaniu kopii zapasowej jest aktywna. Wybranie tej opcji powoduje aktywację opcji Przewijanie taśmy przed zwolnieniem.
Domyślnie, czy kopia zapasowa jest kompresją, zależy od wartości domyślnej konfiguracji serwera backup-compression. Jednak niezależnie od bieżącego domyślnego ustawienia na poziomie serwera, możesz skompresować kopię zapasową, zaznaczając opcję Kompresuj kopię zapasową, a kompresję możesz wyłączyć, zaznaczając opcję Nie kompresuj kopii zapasowej.
Kompresja kopii zapasowej jest obsługiwana w programie SQL Server 2008 (10.0.x) Enterprise i nowszych wersjach oraz w wersjach programu SQL Server 2016 (13.x) Standard z dodatkiem Service Pack 1 lub nowszym.
Aby wyświetlić domyślną kompresję kopii zapasowej, zobacz Wyświetl lub Skonfiguruj domyślną kompresję kopii zapasowej (opcja konfiguracji serwera).
Aby zaszyfrować plik kopii zapasowej, zaznacz pole wyboru Szyfruj kopię zapasową. Wybierz algorytm szyfrowania, który ma być używany do szyfrowania pliku kopii zapasowej i podaj certyfikat lub klucz asymetryczny. Dostępne algorytmy szyfrowania to:
- AES 128
- AES 192
- AES 256
- Triple DES
Korzystanie z Transact-SQL
Wykonaj instrukcję BACKUP LOG, aby utworzyć kopię zapasową dziennika transakcji, podając następujące informacje:
- Nazwa bazy danych, do której należy utworzyć kopię zapasową dziennika transakcji.
- Urządzenie kopii zapasowej, na którym jest zapisywana kopia zapasowa dziennika transakcji.
Ważny
W tym przykładzie użyto bazy danych AdventureWorks2022
, która używa prostego modelu odzyskiwania. Aby zezwolić na tworzenie kopii zapasowych dzienników, przed utworzeniem pełnej kopii zapasowej bazy danych baza danych została ustawiona tak, aby korzystała z pełnego modelu odzyskiwania.
Aby uzyskać więcej informacji, zobacz Wyświetl lub zmień model odzyskiwania bazy danych (SQL Server).
W tym przykładzie jest tworzona kopia zapasowa dziennika transakcji dla bazy danych AdventureWorks2022
do wcześniej utworzonego urządzenia kopii zapasowej o nazwie MyAdvWorks_FullRM_log1
.
BACKUP LOG AdventureWorks2022
TO MyAdvWorks_FullRM_log1;
GO
Korzystanie z programu PowerShell
Skonfiguruj i użyj dostawcy PowerShell dla SQL Server. Użyj polecenia cmdlet Backup-SqlDatabase i wprowadź dziennik jako wartość parametru -BackupAction.
Poniższy przykład tworzy kopię zapasową dziennika bazy danych <myDatabase>
do lokalizacji domyślnej kopii zapasowej wystąpienia serwera Computer\Instance
.
Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log
Powiązane zadania
- przywracanie kopii zapasowej dziennika transakcji (SQL Server)
- Przywracanie bazy danych programu SQL Server do punktu w czasie (Model pełnego odzyskiwania)
- Rozwiązywanie problemów z pełnym dziennikiem transakcji (błąd programu SQL Server 9002)