Kopie zapasowe programu SQL Server przy użyciu kopiowania woluminów w tle

9

Wiele znanych narzędzi do tworzenia kopii zapasowych dla systemu Windows korzysta z usługi kopiowania woluminów w tle wbudowanej w nowsze wersje systemu Windows w celu utworzenia migawki dysku w określonym momencie w celu bezpiecznego utworzenia kopii zapasowej otwartych plików.

Ale jak dobrze ten mechanizm działa z SQL Server? Wiem, że program SQL Server VSS Writer istnieje, aby pomóc systemom kopii zapasowych współpracować z programem SQL Server, ale nie wszystkie systemy kopii zapasowych wiedzą o SQL Server i korzystają z interfejsu API związanego z tworzeniem kopii zapasowych.

Moje pytanie brzmi: co z programami, które nie wiedzą nic o SQL Server?

Prawdopodobnie otrzymują migawkę plików MDF i LDF w momencie, gdy istniały w jednej chwili. I prawdopodobnie format danych programu SQL Server jest wystarczająco solidny, aby zagwarantować, że taka migawka będzie spójna i użyteczna.

Czy tak to działa, czy coś mi brakuje? Czy są jakieś „gotówki” na temat korzystania z takiego mechanizmu tworzenia kopii zapasowych, czy byłbym bezpieczny?

tylerl
źródło

Odpowiedzi:

8

Krótka odpowiedź: nie grają zbyt dobrze razem, chyba że masz odpowiednio skonfigurowany serwer SQL (i nawet wtedy nie poleciłbym go).

Istnieje wiele informacji na temat wspólnego korzystania z VSS i MSSQL:
MSKB919023: Łączność z SQL Server 2005 i usługa kopiowania woluminów w tle (VSS) .

Jedno słowo ostrzeżenia:

prawdopodobnie format danych programu SQL Server jest na tyle solidny, że taka migawka byłaby zagwarantowana jako spójna i użyteczna

To duże założenie, które nie zawsze jest bezpieczne. Dlatego twoje plany konserwacji MSSQL są niezbędne, abyś mógł odzyskać siły po katastrofach.

Mark Henderson
źródło
6

Nigdy nie tworzysz kopii zapasowych plików MDF i LDF.

Wykonujesz kopie zapasowe (plany, SQL, SMO, cokolwiek), a następnie tworzysz kopie zapasowe tych plików.

Szczerze mówiąc, nie rozumiem, co jakikolwiek sprzedawca mówi o VSS. Nie lubię też żadnego dostawcy, który ma wtyczkę SQL Server do tworzenia kopii zapasowych. Używasz tylko rodzimych kopii zapasowych programu SQL Server

Do Twojej wiadomości: wykluczasz również MDF i LDF ze skanowania antywirusowego.

gbn
źródło
2

Jeśli nie masz oprogramowania, które ma „opcję” SQL, to:

Utwórz plany konserwacji SQL lub zaplanowane zadania tworzenia kopii zapasowych baz danych, zrzuć je na dysk, a następnie wykonaj kopię zapasową serwera. Lub gdy je zrzucisz, zrzuć je bezpośrednio do lokalizacji kopii zapasowej dysk-dysk, jeśli taką masz.

TheCleaner
źródło
2

Główny problem z kopią zapasową VSS jest spowodowany buforowaniem na serwerze SQL.

Bieżący stan na dysku nie zawsze zawiera wszystkie zmiany w bazie danych. Oprogramowanie do tworzenia kopii zapasowych musi być tego świadome, aby upewnić się, że serwer SQL zapisze wszystkie swoje pamięci podręczne przed wykonaniem migawki.

Powiedziawszy to: najbezpieczniejszą metodą jest nadal tworzenie kopii zapasowych w zarządzaniu SQL / narzędziami SQL Server.

I powinieneś wykluczyć wszystkie dane serwera SQL i pliki kopii zapasowych z wirusów (.bak, .mdf, .ldf).

Andreas Rehm
źródło
3
Głównym celem architektury VSS Requestor \ Writer jest upewnienie się, że aplikacja ufająca (np. Aplikacja do tworzenia kopii zapasowych) może poinstruować właściciela (SQL Server \ Exchange itp.), Aby wyczyścił wszystkie buforowane dane i otworzył transakcje, a następnie opróżnił pamięć podręczną dysku systemu operacyjnego przed tworzenie migawki. To, czy działa dobrze, to kolejna kwestia, ale architektura robi tyle, ile może, aby zapewnić spójność plików.
Helvick
2
yyy ... nie. chyba że dokonałeś szalonej zmiany konfiguracji, po zatwierdzeniu transakcji jest ona na dysku. w pamięci podręcznej nie ma niczego zatwierdzonego, co nie jest również popełnione na dysku.
longneck