Udostępnij przez


Uaktualnianie programu SQL Server przy użyciu wysyłania dzienników (Transact-SQL)

Dotyczy:SQL Server

Aby zachować rozwiązanie przywracania po awarii dla wysyłki dziennika, zaktualizuj lub zastosuj aktualizacje serwisowe w odpowiedniej kolejności. Aktualizacje obsługi obejmują dodatki Service Pack lub aktualizacje zbiorcze.

Uwaga / Notatka

Uaktualniona konfiguracja wysyłania dziennika używa backup compression default opcji konfiguracji na poziomie serwera w celu kontrolowania, czy kompresja kopii zapasowej jest używana dla plików kopii zapasowych dziennika transakcji. Możesz określić zachowanie kompresji kopii zapasowej kopii zapasowych dzienników dla każdej konfiguracji wysyłania dziennika. Aby uzyskać więcej informacji, zobacz Konfigurowanie wysyłania dziennika (SQL Server).

Wymagania wstępne

Przed rozpoczęciem zapoznaj się z następującymi ważnymi informacjami.

Artykuł Opis
Obsługiwane uaktualnienia wersji i edycji Sprawdź, czy możesz przeprowadzić uaktualnienie do żądanej wersji programu SQL Server z istniejącego systemu operacyjnego Windows i wersji programu SQL Server. Na przykład nie można zaktualizować bezpośrednio wystąpienia SQL Server 2005 (9.x) do SQL Server 2025 (17.x).
Wybierz Metodę Aktualizacji Silnika Bazy Danych Wybierz odpowiednią metodę uaktualnienia i kroki na podstawie przeglądu obsługiwanych wersji i uaktualnień wersji. Rozważ również inne składniki zainstalowane w środowisku, aby uaktualnić składniki w odpowiedniej kolejności.
Planowanie i testowanie planu uaktualniania aparatu bazy danych Przejrzyj informacje o wersji i znane problemy z uaktualnieniem, listę kontrolną przed uaktualnieniem oraz opracuj i przetestuj plan uaktualnienia.
Wymagania sprzętowe i programowe dotyczące instalowania programu SQL Server Zapoznaj się z wymaganiami dotyczącymi instalacji oprogramowania SQL Server. Jeśli wymagane jest inne oprogramowanie, zainstaluj je w każdym węźle przed rozpoczęciem procesu uaktualniania, aby zminimalizować wszelkie przestoje.
Dodano obsługę zawartej grupy dostępności w programie SQL Server 2022 (16.x) Jeśli chcesz rozpocząć korzystanie z zamkniętych grup dostępności z dostarczeniem dzienników, musisz usunąć i ponownie utworzyć topologię dostarczenia dzienników. Jeśli jednak używasz już ograniczonych grup dostępności z wysyłaniem dzienników, uaktualnienia są obsługiwane.
Dodano obsługę TDS 8.0 w programie SQL Server 2025 (17.x) Jeśli chcesz używać usługi TDS 8.0 z wysyłką dziennika w programie SQL 2025 i nowszych wersjach, musisz najpierw usunąć istniejącą konfigurację wysyłania dziennika.

Ochrona danych przed uaktualnieniem

Aby chronić dane podczas aktualizacji log shippingu, wykonaj następujące kroki:

  1. Wykonaj pełną kopię zapasową bazy danych w każdej podstawowej bazie danych.

    Aby uzyskać więcej informacji, zobacz Tworzenie pełnej kopii zapasowej bazy danych (SQL Server).

  2. Uruchom polecenie DBCC CHECKDB dla każdej podstawowej bazy danych.

Ważne

Upewnij się, że serwer podstawowy ma wystarczającą ilość miejsca do przechowywania kopii zapasowych dziennika tak długo, jak trwa uaktualnianie serwerów pomocniczych. Jeśli przełączyłeś się na tryb awaryjny do serwera zapasowego, ten sam problem dotyczy serwera zapasowego (nowego podstawowego).

Zaktualizuj (opcjonalną) instancję serwera monitorowania

Można uaktualnić wystąpienie serwera monitora, o ile takie istnieje, w dowolnym momencie. Nie trzeba jednak uaktualniać opcjonalnego serwera monitorującego podczas uaktualniania serwerów podstawowego i pomocniczego.

Podczas uaktualniania serwera monitora konfiguracja wysyłania dziennika nadal działa, ale jego stan nie jest rejestrowany w tabelach na monitorze. Wszystkie skonfigurowane alerty nie są wyzwalane podczas uaktualniania serwera monitora. Po uaktualnieniu można zaktualizować informacje w tabelach monitora, wykonując procedurę składowaną systemu sp_refresh_log_shipping_monitor . Aby uzyskać więcej informacji na temat serwera monitora, zobacz Informacje o wysyłaniu dzienników (SQL Server).

Uaktualnianie wystąpień serwera pomocniczego

Proces uaktualniania obejmuje uaktualnienie wystąpień serwera pomocniczego programu SQL Server przed uaktualnieniem wystąpienia serwera podstawowego. Zawsze najpierw uaktualnij pomocnicze wystąpienia programu SQL Server. Wysyłanie dzienników (log shipping) jest kontynuowane w całym procesie uaktualniania, ponieważ uaktualnione instancje serwera pomocniczego nadal przywracają kopie zapasowe dzienników z instancji serwera podstawowego.

Jeśli zaktualizujesz wystąpienie serwera podstawowego przed wystąpieniem serwera pomocniczego, wysyłanie dzienników nie powiedzie się, ponieważ kopii zapasowej utworzonej w nowszej wersji programu SQL Server nie można przywrócić w starszej wersji. Wystąpienia pomocnicze można uaktualnić jednocześnie lub szeregowo, ale przed uaktualnieniem wystąpienia podstawowego należy uaktualnić wszystkie wystąpienia pomocnicze, aby uniknąć niepowodzenia wysyłania dziennika.

Podczas uaktualniania wystąpienia serwera pomocniczego, zadania wysyłania, kopiowania i przywracania dziennika nie są uruchamiane. Ten warunek oznacza, że nierestorowane kopie zapasowe dziennika transakcji gromadzą się w repliki podstawowej i musisz mieć wystarczającą ilość miejsca do przechowywania tych nierestorowanych kopii zapasowych. Ilość nagromadzenia zależy od częstotliwości zaplanowanych kopii zapasowych na instancje serwera podstawowego i kolejności, w jakiej aktualizujesz instancje pomocnicze. Ponadto, jeśli skonfigurowano oddzielny serwer monitorujący, mogą pojawić się alerty wskazujące, że przywracanie nie było wykonywane przez okres dłuższy niż skonfigurowany.

Po uaktualnieniu wystąpień serwera pomocniczego, zadania związane z wysyłką dziennika są wznawiane i kontynuują kopiowanie oraz przywracanie kopii zapasowych dzienników z wystąpienia serwera podstawowego do wystąpień serwera pomocniczego. Czas wymagany dla wystąpień serwera pomocniczego w celu zaktualizowania pomocniczej bazy danych różni się w zależności od czasu potrzebnego na uaktualnienie wystąpienia serwera pomocniczego i częstotliwości wykonywania kopii zapasowych na serwerze podstawowym.

Podczas uaktualniania serwera sama pomocnicza baza danych nie jest uaktualniana do nowej wersji. Jest uaktualniany tylko wtedy, gdy zostanie uruchomiony przez inicjację przełączenia awaryjnego w bazie danych przesyłanej poprzez dzienniki. Teoretycznie ten stan może utrzymywać się w nieskończoność. Czas uaktualniania metadanych bazy danych po zainicjowaniu trybu failover jest niewielki.

Ważne

Opcja RESTORE WITH STANDBY nie jest obsługiwana w przypadku bazy danych, która wymaga uaktualnienia. Jeśli uaktualniona pomocnicza baza danych jest skonfigurowana przy użyciu programu RESTORE WITH STANDBY, dzienniki transakcji nie mogą być już przywracane po uaktualnieniu. Aby wznowić wysyłanie dzienników do tej pomocniczej bazy danych, należy ponownie skonfigurować wysyłanie dzienników na tym serwerze rezerwowym. Aby uzyskać więcej informacji na temat STANDBY opcji, zobacz Przywracanie kopii zapasowej dziennika transakcji (SQL Server).

Aktualizacja podstawowego wystąpienia serwera

Ponieważ wysyłanie dzienników jest przede wszystkim rozwiązaniem odzyskiwania po awarii, najprostszym i najbardziej typowym scenariuszem jest uaktualnienie wystąpienia podstawowego na miejscu. Baza danych jest niedostępna podczas tego uaktualnienia. Po uaktualnieniu serwera baza danych jest automatycznie przywracana w trybie online, co powoduje jego uaktualnienie. Po uaktualnieniu bazy danych zadania wysyłania dziennika zostaną wznowione.

Wysyłanie dzienników obsługuje również opcję przełączenia awaryjnego do pomocniczego serwera wysyłki dziennika i opcjonalnie zmiany ról między podstawowymi i pomocniczymi serwerami wysyłki dzienników.

Jednak ponieważ wysyłanie dzienników jest rzadko konfigurowane jako rozwiązanie o wysokiej dostępności (nowsze opcje są znacznie bardziej niezawodne), przełączanie w tryb failover zwykle nie minimalizuje przestojów. Obiekty systemowe bazy danych nie są synchronizowane i umożliwienie klientom łatwego lokalizowania i nawiązywania połączenia z promowaną pomocniczą bazą danych może być trudne.