Udostępnij za pomocą


Informacje o wysyłaniu dzienników (SQL Server)

Dotyczy:SQL Server

Wysyłanie dziennika programu SQL Server umożliwia automatyczne wysyłanie kopii zapasowych dziennika transakcji z podstawowej bazy danych w wystąpieniu serwera podstawowego do co najmniej jednej pomocniczej bazy danych w oddzielnych wystąpieniach serwera pomocniczego . Kopie zapasowe dziennika transakcji są stosowane do każdej z pomocniczych baz danych osobno. Opcjonalne wystąpienie trzeciego serwera, znane jako serwer monitora, rejestruje historię i stan operacji tworzenia kopii zapasowych i przywracania, a opcjonalnie zgłasza alerty, jeśli te operacje nie będą wykonywane zgodnie z harmonogramem.

Omówienie wysyłania dziennika

Wysyłanie dziennika składa się z trzech operacji:

  1. Utwórz kopię zapasową dziennika transakcji w wystąpieniu serwera podstawowego.
  2. Skopiuj plik dziennika transakcji do wystąpienia serwera pomocniczego.
  3. Przywróć kopię zapasową dziennika w wystąpieniu serwera pomocniczego.

Dziennik można wysłać do wielu wystąpień serwera pomocniczego. W takich przypadkach operacje 2 i 3 są zduplikowane dla każdego wystąpienia serwera pomocniczego.

Konfiguracja wysyłania dziennika nie powoduje automatycznego przejścia w tryb failover z serwera podstawowego do serwera pomocniczego. Jeśli podstawowa baza danych stanie się niedostępna, każda z pomocniczych baz danych może zostać przeniesiona do trybu online ręcznie.

Do celów raportowania można użyć pomocniczej bazy danych.

Ponadto można skonfigurować alerty dla konfiguracji wysyłki dziennika.

Typowa konfiguracja wysyłania dziennika

Na poniższej ilustracji przedstawiono konfigurację wysyłania dziennika z wystąpieniem serwera podstawowego, trzema wystąpieniami serwera pomocniczego i wystąpieniem serwera monitora. Na rysunku przedstawiono kroki wykonywane przez zadania tworzenia kopii zapasowej, kopiowania i przywracania w następujący sposób:

  1. Wystąpienie serwera podstawowego uruchamia zadanie tworzenia kopii zapasowej, aby utworzyć kopię zapasową dziennika transakcji w podstawowej bazie danych. Następnie to wystąpienie serwera umieszcza kopię zapasową dziennika w podstawowym pliku kopii zapasowej dziennika, który jest wysyłany do folderu kopii zapasowej. Na tym rysunku folder kopii zapasowej znajduje się w udostępnionym katalogu i udziale kopii zapasowej.

  2. Każde z trzech wystąpień serwera pomocniczego uruchamia własne zadanie kopiowania, aby skopiować podstawowy plik kopii zapasowej dziennika do własnego lokalnego folderu docelowego.

  3. Każde wystąpienie serwera pomocniczego uruchamia własne zadanie przywracania, aby przywrócić kopię zapasową dziennika z lokalnego folderu docelowego do lokalnej pomocniczej bazy danych.

Wystąpienia serwera podstawowego i pomocniczego wysyłają własną historię i stan do wystąpienia serwera monitora.

Diagram konfiguracji przedstawiający zadania tworzenia kopii zapasowej, kopiowania i przywracania.

Wymuszanie szyfrowania TLS 1.3

Program SQL Server 2025 (17.x) wprowadza obsługę TDS 8.0 na potrzeby wysyłania dzienników. Protokół TDS 8.0 zapewnia zwiększone zabezpieczenia i szyfrowanie danych przesyłanych między serwerami podstawowymi i pomocniczymi topologii wysyłania dziennika. Wybór między wymuszaniem obowiązkowego lub ścisłego szyfrowania na potrzeby komunikacji między serwerami.

W programie SQL Server 2025 (17.x) wysyłka dziennika używa sterownika Microsoft OLE DB dla programu SQL Server jako domyślnej wersji serwerów połączonych, która ma domyślną Encrypt wartość Mandatory.

Aby użyć szyfrowania TLS 1.3 w istniejącej konfiguracji wysyłki dziennika, upuść, a następnie ponownie utwórz topologię przy użyciu nowych parametrów protokołu TLS 1.3 w procedurach składowanych wysyłania dziennika.

Monitorowanie wysyłania dzienników może przestać działać, jeśli monitor jest zdalnym wystąpieniem programu SQL Server 2025

Monitorowanie wysyłki dzienników może zostać przerwane, jeśli monitor jest zdalnym wystąpieniem SQL Server 2025 (17.x), gdy inne wystąpienia SQL Server w topologii wysyłki dzienników używają poprzedniej wersji. Może wystąpić jeden z następujących błędów:

OLE DB provider "MSOLEDBSQL19" for linked server "<server>" returned message "Client unable to establish connection. For solutions related to encryption errors, see https://go.microsoft.com/fwlink/?linkid=2227882.".

Lub:

Msg 32055, Level 16, State 2, Procedure master.dbo.sp_add_log_shipping_primary_database, Line 325 [Batch Start Line 10]
There was an error configuring the remote monitor server.

Aby obejść ten problem, usuń i ponownie utwórz konfigurację przesyłania dzienników na podstawowej i pomocniczej replice. Przykładowy skrypt jest dostępny w artykule Korzystanie z monitora zdalnego z opcjami łączności.

Aby uzyskać więcej informacji, zobacz Szyfrowanie i zachowanie weryfikacji certyfikatu.

Korzyści

  • Zapewnia rozwiązanie odzyskiwania po awarii dla pojedynczej podstawowej bazy danych i co najmniej jednej pomocniczej bazy danych, z których każda znajduje się w osobnym wystąpieniu programu SQL Server.

  • Obsługuje ograniczony dostęp tylko do odczytu do pomocniczych baz danych (w interwałach między zadaniami przywracania).

  • Umożliwia określone przez użytkownika opóźnienie między utworzeniem kopii zapasowej dziennika podstawowej bazy danych przez serwera podstawowego, a gdy serwery pomocnicze muszą przywrócić (zastosować) kopię zapasową dziennika. Dłuższe opóźnienie może być przydatne, na przykład jeśli dane zostaną przypadkowo zmienione w podstawowej bazie danych. Jeśli przypadkowa zmiana zostanie szybko zauważona, opóźnienie może pozwolić pobrać nadal niezmienione dane z pomocniczej bazy danych, zanim zmiana zostanie tam odzwierciedlona.

Terminy i definicje

  • serwer podstawowy: wystąpienie programu SQL Server, które jest serwerem produkcyjnym.

  • podstawowa baza danych: baza danych na serwerze podstawowym, którego kopię zapasową chcesz utworzyć na innym serwerze. Cała administracja konfiguracją wysyłania dziennika za pośrednictwem programu SQL Server Management Studio jest wykonywana z podstawowej bazy danych.

  • serwer pomocniczy: wystąpienie programu SQL Server, w którym chcesz zachować ciepłą kopię rezerwową podstawowej bazy danych.

  • pomocnicza baza danych: ciepła kopia rezerwowa podstawowej bazy danych. Pomocnicza baza danych może być w stanie ODZYSKIWANIE lub STANDBY stanem, który pozostawia bazę danych dostępną dla ograniczonego dostępu tylko do odczytu.

  • serwer monitora: opcjonalne wystąpienie programu SQL Server, które śledzi wszystkie szczegóły wysyłania dziennika, w tym:

    • Gdy ostatnio utworzono kopię zapasową dziennika transakcji w podstawowej bazie danych.
    • Gdy serwery pomocnicze zostały ostatnio skopiowane i przywrócone pliki kopii zapasowej.
    • Informacje o alertach o błędach tworzenia kopii zapasowej.

    Ważne

    Po skonfigurowaniu serwera monitora nie można go zmienić bez uprzedniego usunięcia wysyłki dziennika.

  • Zadanie tworzenia kopii zapasowej: zadanie agenta programu SQL Server, które wykonuje operację tworzenia kopii zapasowej, rejestruje historię na serwerze lokalnym i serwerze monitora oraz usuwa stare pliki kopii zapasowej i informacje o historii. Po włączeniu wysyłania dziennika kategoria zadania "Kopia zapasowa wysyłki dziennika" jest tworzona w wystąpieniu serwera podstawowego.

  • zadanie kopiowania: zadanie agenta programu SQL Server, które kopiuje pliki kopii zapasowej z serwera podstawowego do konfigurowalnego miejsca docelowego na serwerze pomocniczym i historii dzienników na serwerze pomocniczym i serwerze monitora. Po włączeniu wysyłania dziennika w bazie danych kategoria zadania "Kopia wysyłki dziennika" jest tworzona na każdym serwerze pomocniczym w konfiguracji wysyłania dziennika.

  • zadanie przywracania: zadanie agenta programu SQL Server, które przywraca skopiowane pliki kopii zapasowej do pomocniczych baz danych. Rejestruje historię na serwerze lokalnym i serwerze monitora oraz usuwa stare pliki i stare informacje o historii. Po włączeniu wysyłania dziennika w bazie danych kategoria zadania "Przywracanie wysyłki dziennika" jest tworzona w wystąpieniu serwera pomocniczego.

  • zadanie alertu: zadanie agenta programu SQL Server, które zgłasza alerty dla podstawowych i pomocniczych baz danych, gdy operacja tworzenia kopii zapasowej lub przywracania nie zostanie pomyślnie ukończona w ramach określonego progu. Po włączeniu wysyłania dziennika w bazie danych kategoria zadania "Alert wysyłki dziennika" jest tworzona w wystąpieniu serwera monitora.

    Wskazówka

    Dla każdego alertu należy określić numer alertu. Pamiętaj również, aby skonfigurować alert w celu powiadamiania operatora o zgłaszaniu alertu.

Współdziałanie

Wysyłanie dzienników może być używane z następującymi funkcjami lub składnikami programu SQL Server:

Uwaga / Notatka

Zawsze włączone grupy dostępności i dublowanie baz danych wzajemnie się wykluczają. Nie można skonfigurować bazy danych skonfigurowanej dla jednej z tych funkcji.

Ostrzeżenie

Znany problem: W przypadku baz danych z tabelami zoptymalizowanymi pod kątem pamięci wykonywanie kopii zapasowej dziennika transakcyjnego bez odzyskiwania, a później wykonywanie przywracania dziennika transakcji z odzyskiwaniem może spowodować brak odpowiedzi procesu przywracania bazy danych. Ten problem może również mieć wpływ na funkcjonalność wysyłania dziennika. Aby obejść ten problem, wystąpienie programu SQL Server można uruchomić ponownie przed zainicjowanie procesu przywracania.