Kopia zapasowa systemu Windows Server nie jest przeznaczona do tworzenia kopii zapasowych programu SQL Server.
... Jednak konstrukcja sprawia, że jest szczególnie odpowiedni dla mniejszych organizacji lub osób niebędących specjalistami IT ...
Cytat z Przewodnika krok po kroku dotyczącego kopii zapasowej systemu Windows Server dla systemu Windows Server 2008 : „Kto powinien korzystać z kopii zapasowej systemu Windows Server?”
Część, którą zacytowałeś, zasadniczo mówi, że kiedy uruchomi się Kopia zapasowa systemu Windows Server, uruchomi funkcję VSS w systemie Windows. SQL Server będzie wiedział, że ma miejsce kopia woluminu w tle, a przy pomocy usługi SQL Server Writer zapewni możliwość wykonania kopii plików bazy danych (* .mdf, * .ndf, * .ldf).
Cel usługi SQL Server Writer definiuje się w następujący sposób:
Podczas działania Aparat baz danych blokuje się i ma wyłączny dostęp do plików danych. Gdy usługa SQL Writer Service nie jest uruchomiona, programy do tworzenia kopii zapasowych działające w systemie Windows nie mają dostępu do plików danych, a kopie zapasowe należy wykonywać przy użyciu kopii zapasowej programu SQL Server.
Użyj usługi SQL Writer Service, aby zezwolić programom do tworzenia kopii zapasowych systemu Windows na kopiowanie plików danych programu SQL Server podczas działania programu SQL Server.
Cytat z sekcji SQL Writer Service : „Cel”
To w zasadzie wszystko, co dzieje się z Kopią zapasową systemu Windows Server.
Kopie zapasowe utworzone za pomocą Kopii zapasowej systemu Windows Server podczas działania programu SQL Server powinny być spójne, ale transakcje, które nie zostały jeszcze zapisane na dysku, nie znajdują się w kopii woluminu w tle. Migawka bazy danych została zrobiona w trybie ONLINE.
Jednak w artykule MSDN Kopie zapasowe migawek stwierdza:
Tylko następujące typy kopii zapasowych mogą być kopiami zapasowymi migawek:
- Pełne kopie zapasowe
- Częściowe kopie zapasowe
- Kopie zapasowe plików
- Różnicowe kopie zapasowe bazy danych. Są one obsługiwane tylko wtedy, gdy dostawca korzysta z interfejsu VSS.
i dodatkowo:
Z wyjątkiem przypadków wspomnianych wcześniej w tym temacie, kopie zapasowe migawek są funkcjonalnie równoważne z odpowiednimi konwencjonalnymi kopiami zapasowymi. Kopii zapasowych migawek można używać w sekwencjach przywracania z pełnymi kopiami zapasowymi migawek, różnicowymi kopiami zapasowymi i kopiami dzienników. Podobnie jak inne kopie zapasowe, kopie zapasowe migawek są śledzone w bazie danych msdb, gdzie kopie zapasowe migawek są identyfikowane przez backupset.is_snapshot = 1. Aby uzyskać więcej informacji o msdb, zobacz Baza danych msdb.
SQL Server nie obsługuje przywracania online z kopii zapasowej migawki. Przywrócenie kopii zapasowej migawki powoduje automatyczne przełączenie bazy danych w tryb offline. Częściowe przywracanie może obejmować kopie zapasowe migawek, ale wszystkie sekwencje przywracania są przywracane offline. Aby uzyskać więcej informacji na temat przywracania fragmentarycznego, zobacz Wykonywanie przywracania fragmentarycznego.
Aby odpowiedzieć na twoje pytania:
- Czy muszę tylko wykonać kopię zapasową pliku .mdf? .Mdf i .ldf?
- Online czy offline?
- Jaka jest oficjalna procedura przywracania kopii zapasowych baz danych SQL Server w ten sposób?
- Czy jest coś specjalnego do rozważenia podczas tworzenia przyrostowych / różnicowych kopii zapasowych?
- Gdzie to wszystko jest udokumentowane?
Odpowiedzi:
- Tak, możesz wykonać kopię zapasową plików .mdf i .ldf systemu Windows Server Backup (VSS). Kopia zapasowa powinna być spójna, ale baza danych po przywróceniu będzie offline.
- Jeśli SQL Server zostanie zatrzymany / baza danych zostanie odłączona / baza danych jest w trybie offline, wówczas kopia VSS plików .mdf i .ldf jest w 100% spójna.
- Nie jestem pewien, jak przywrócić bazę danych (do punktu w czasie), która jest wykonywana za pomocą Kopii zapasowej systemu Windows Server, ponieważ baza danych jest przywracana w trybie offline. Bazy danych w trybie OFFLINE nie można już przywrócić / odzyskać, a przeniesienie bazy danych ONLINE powoduje, że baza danych jest uważana za w pełni odzyskaną. Poleciłbym osobne kopie zapasowe FULL, DIFF i TLOG programu SQL Server, aby zapewnić przywrócenie bazy danych do określonego momentu.
- Dzienniki transakcji nie są częścią migawek utworzonych za pomocą narzędzia Kopia zapasowa systemu Windows Server i powinny być wykonywane dodatkowo. Migawki różnicowe są obsługiwane przez dostawców zewnętrznych w ramach sekwencji tworzenia kopii zapasowych, ale kopia zapasowa systemu Windows Server nie wydaje się być w stanie wykonywać różnicowych kopii zapasowych. W takim przypadku należy również wykonać dodatkowe różnicowe kopie zapasowe. (patrz 3.)
- Różne referencje
Wyjaśnione w rzeczywistej implementacji
W naszym środowisku mamy podobną sytuację, w której VMware przeprowadza migawkę, a bazy danych wykonują zrzuty SQL Server z Commvault. Historia kopii zapasowych wygląda następująco:
DBNAME TYPE BACKUPSET_NAME IS_SNAPSHOT BACKUP_START_DATE
------- ---- ------------------------- ----------- -----------------------
DB_NAME Full NULL 1 2016-12-10 18:23:59.000
DB_NAME Full CommVault Galaxy Backup 0 2016-12-10 20:07:41.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-11 06:00:40.000
DB_NAME Full NULL 1 2016-12-11 18:24:00.000
DB_NAME Diff CommVault Galaxy Backup 0 2016-12-11 20:03:38.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-12 06:02:29.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-12 07:02:17.000
Migawka VMware utworzy pozycję w tabelach historii bazy danych MSDB z IS_SNAPSHOT = 1
i FULL
dla każdej przeprowadzanej migawki VMware (codziennie). Natywne kopie zapasowe SQL Server (również Commvault przy użyciu natywnych) są wykonywane przy użyciu kopii FULL, DIFF i TLOG. Te kopie zapasowe nie są oznaczone jako IS_SNAPSHOT i istnieją jako dodatkowe FULL (raz w tygodniu), DIFF (co drugi dzień) i LOG (co godzinę) w tabelach kopii zapasowych w bazie danych msdb.
Dzięki tej konfiguracji możemy wykonać przywracanie migawki data-godzina, a następnie przenieść bazę danych do trybu ONLINE, lub możemy wykonać indywidualne przywracanie do dowolnego punktu w czasie przy użyciu „rodzimych” kopii zapasowych programu SQL Server.