Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Restore-SqlDatabase

Termin Definicja
Restore-SqlDatabase

Restore-SqlDatabase to polecenie modułu SqlServer w PowerShell, automatyzujące przywracanie bazy ze skryptu.

Restore-SqlDatabase w module SqlServer

Restore-SqlDatabase jest poleceniem PowerShell dostarczanym przez moduł SqlServer firmy Microsoft. Służy do uruchamiania operacji przywracania bazy danych w Microsoft SQL Server na podstawie kopii zapasowej zapisanej w pliku lub w kilku plikach backupu. Polecenie komunikuje się z wystąpieniem SQL Server i wykonuje operację przy użyciu mechanizmu przywracania tego silnika, dlatego nie jest uniwersalnym narzędziem dla PostgreSQL, MySQL ani Oracle.

W typowym użyciu wskazuje się nazwę instancji SQL Server, nazwę docelowej bazy oraz ścieżkę do pliku kopii zapasowej. Przykładowa forma polecenia to Restore-SqlDatabase -ServerInstance "SERWER\INSTANCJA" -Database "Ksiegowosc" -BackupFile "D:\Backup\Ksiegowosc.bak". Plik .bak musi być dostępny dla procesu SQL Server, a nie tylko dla użytkownika uruchamiającego PowerShell. Jeżeli backup znajduje się na komputerze administratora, lecz nie na serwerze bazy, sama dostępność pliku w Eksploratorze Windows nie gwarantuje powodzenia operacji.

Parametry sterujące odtwarzaniem bazy SQL Server

Restore-SqlDatabase obsługuje parametry odpowiadające najważniejszym wariantom przywracania SQL Server. Parametr -BackupFile wskazuje plik kopii, natomiast -Database określa nazwę bazy, która ma zostać utworzona albo odtworzona. Opcja -ServerInstance wybiera docelowe wystąpienie SQL Server. Przy odtwarzaniu kopii zawierającej pełny backup można użyć -WithReplace, aby zastąpić istniejącą bazę, lecz taka operacja wymaga świadomej decyzji, ponieważ usuwa aktualny stan danych i obiektów bazy przed zakończeniem przywracania.

Jeżeli pliki danych i dziennika mają trafić w inne miejsca niż zapisane w kopii, używa się parametru -RelocateFile z obiektami typu RelocateFile. Jest to potrzebne między innymi wtedy, gdy backup pochodzi z innego serwera, a na serwerze docelowym obowiązuje odmienny układ dysków lub katalogów. Przywracanie złożone z pełnej kopii, kopii różnicowej i kopii dziennika wymaga zachowania właściwej kolejności. Po pełnym backupie można odtworzyć odpowiedni backup różnicowy, a następnie kolejne kopie dziennika transakcji. Kopie dziennika muszą tworzyć ciągłość bez brakujących fragmentów logu.

Tryb odzyskiwania, blokady i kontrola wyniku

Domyślne zachowanie przywracania zależy od rodzaju operacji i ustawień polecenia. Parametr -NoRecovery pozostawia bazę w stanie niedostępnym dla zwykłych użytkowników, ale umożliwia wykonanie kolejnych etapów odtwarzania. Jest stosowany wtedy, gdy po pełnym backupie mają zostać zastosowane backup różnicowy albo backupy dziennika. Parametr -Standby pozwala utrzymać bazę w trybie tylko do odczytu pomiędzy kolejnymi przywracaniami dziennika i wymaga wskazania pliku cofania zmian. Ostatni etap łańcucha powinien zakończyć się odzyskaniem bazy, czyli przejściem do normalnego stanu użytkowego.

Przed wykonaniem operacji warto sprawdzić zawartość kopii poleceniem Restore-SqlDatabase nie zastępuje jednak niezależnej walidacji backupu. Do analizy nagłówka kopii służy Restore-SqlBackup, a do odczytu listy plików zapisanych w backupie — Restore-SqlBackup z odpowiednimi opcjami modułu albo procedury systemowe SQL Server, takie jak RESTORE HEADERONLY i RESTORE FILELISTONLY. Po przywróceniu należy sprawdzić stan bazy w widokach katalogowych SQL Server, zweryfikować dostępność oczekiwanych tabel oraz wykonać kontrolę spójności DBCC CHECKDB. Trzeba też pamiętać, że przywrócenie danych nie odtwarza automatycznie loginów serwera, zadań SQL Server Agent ani konfiguracji znajdującej się poza samą bazą.

Bezpieczne użycie przy odtwarzaniu środowiska SQL Server

Restore-SqlDatabase wykonuje operację administracyjną, więc konto uruchamiające polecenie musi mieć odpowiednie uprawnienia w SQL Server, a konto usługi silnika musi mieć dostęp do katalogów zawierających backup oraz docelowe pliki MDF, NDF i LDF. Przed zastąpieniem istniejącej bazy należy potwierdzić nazwę instancji, źródłowy plik, typ kopii oraz planowany punkt odzyskiwania. W środowisku produkcyjnym trzeba także uwzględnić aktywne połączenia, wymagane okno serwisowe, wolne miejsce na dysku i czas potrzebny na odtworzenie dużych plików.

W przypadku problemów z laptopem lub komputerem PC, na którym działa lokalna instancja SQL Server, diagnostyka powinna obejmować komunikaty zwrócone przez PowerShell, dziennik SQL Server, uprawnienia do ścieżek oraz zgodność wersji i edycji silnika z użytym backupem. Restore-SqlDatabase jest narzędziem do pracy z bazą Microsoft SQL Server, a nie metodą naprawy uszkodzonego dysku ani zamiennikiem kopii zapasowej. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, natomiast samo odtwarzanie bazy wymaga poprawnie przygotowanego backupu oraz dostępu do działającej instancji SQL Server.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę