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

Backup-SqlDatabase

Termin Definicja
Backup-SqlDatabase
Backup-SqlDatabase

Backup-SqlDatabase to polecenie modułu PowerShell umożliwiające wykonanie kopii zapasowej bazy danych SQL Server ze skryptu.

Rola polecenia Backup-SqlDatabase w SQL Server

Backup-SqlDatabase jest poleceniem cmdlet modułu PowerShell SqlServer. Służy do uruchomienia kopii zapasowej bazy danych obsługiwanej przez Microsoft SQL Server. Cmdlet korzysta z mechanizmów administracyjnych SQL Server, dlatego nie tworzy zwykłej kopii plików znajdujących się w katalogu danych. Wykonuje operację backupu rozpoznawaną przez silnik bazy danych, zapisując zestaw informacji potrzebnych później do odtworzenia bazy za pomocą operacji RESTORE.

Najprostsze użycie wymaga wskazania instancji SQL Server, nazwy bazy oraz docelowego pliku kopii. Przykładowa forma polecenia to Backup-SqlDatabase -ServerInstance "localhost" -Database "Sales" -BackupFile "D:\Backup\Sales.bak". Parametr -ServerInstance określa instancję, z którą cmdlet nawiąże połączenie, -Database wskazuje bazę danych, a -BackupFile definiuje plik urządzenia kopii zapasowej. Ścieżka musi być dostępna dla procesu wykonującego operację po stronie SQL Server, a nie tylko dla użytkownika uruchamiającego PowerShell.

Połączenie PowerShell z mechanizmem kopii SQL Server

Przed wykonaniem polecenia musi być dostępny moduł SqlServer, ponieważ Backup-SqlDatabase nie jest ogólnym poleceniem wbudowanym w każdy system Windows. W środowisku PowerShell można sprawdzić obecność cmdletu poleceniem Get-Command Backup-SqlDatabase. Jeżeli polecenie nie zostanie znalezione, przyczyną może być brak modułu, jego niezaładowanie albo użycie innego środowiska PowerShell niż to, w którym moduł został zainstalowany.

Autoryzacja zależy od sposobu połączenia z SQL Server. Cmdlet może korzystać z bieżących poświadczeń systemu Windows albo z poświadczeń SQL Server przekazanych odpowiednim parametrem uwierzytelniającym. Konto wykonujące backup musi mieć uprawnienia pozwalające na wykonanie kopii wskazanej bazy. Istotne jest również rozróżnienie między uprawnieniami do uruchomienia PowerShell a uprawnieniami konta usługi SQL Server. To drugie konto zwykle zapisuje plik backupu, gdy kopia jest tworzona bezpośrednio przez silnik.

Typy kopii i parametry wpływające na odtwarzanie

Backup-SqlDatabase może służyć do wykonywania kopii pełnych oraz operacji związanych z dziennikiem transakcji, zależnie od użytych parametrów. Kopia pełna obejmuje dane potrzebne do odtworzenia stanu bazy w chwili wykonania backupu. Kopia dziennika transakcji zapisuje zmiany zarejestrowane w logu i jest elementem łańcucha log backups, ale wymaga odpowiedniego modelu odzyskiwania bazy. Samo regularne uruchamianie cmdletu nie gwarantuje możliwości odtworzenia dowolnego punktu w czasie, jeżeli harmonogram i typy kopii nie tworzą spójnej strategii.

Parametr -CopyOnly pozwala utworzyć kopię niezależną od zwykłej sekwencji backupów. Taki backup nie zmienia podstawy używanej przez późniejsze kopie różnicowe, dlatego może być przydatny podczas jednorazowej operacji administracyjnej. -Checksum zleca SQL Server wykonanie kontroli sum kontrolnych podczas zapisu kopii, a -Verify służy do sprawdzenia poprawności zestawu backupu po jego utworzeniu. -CompressionOption pozwala określić użycie kompresji backupu, o ile funkcja jest dostępna i obsługiwana przez daną edycję oraz konfigurację SQL Server.

Kontrola pliku .bak i test przywracania

Powodzenie polecenia nie powinno być oceniane wyłącznie na podstawie tego, że plik .bak pojawił się na dysku. Należy sprawdzić komunikat zwrócony przez cmdlet, rozmiar pliku, czas utworzenia oraz informacje zapisane w nagłówku backupu. SQL Server udostępnia do tego między innymi polecenia RESTORE HEADERONLY i RESTORE VERIFYONLY. Pierwsze pokazuje metadane zestawu kopii, natomiast drugie sprawdza, czy backup jest kompletny i możliwy do odczytania przez mechanizm RESTORE w zakresie przewidzianym przez tę instrukcję.

Najważniejszym testem pozostaje próbne odtworzenie kopii do odrębnej bazy lub środowiska testowego. Dopiero taki test pozwala potwierdzić, że plik można wykorzystać w rzeczywistej procedurze odzyskiwania oraz że zachowano wymagane kopie pełne, różnicowe i dziennika transakcji. Podczas diagnostyki problemu z Backup-SqlDatabase sprawdza się kolejno dostępność modułu, poprawność nazwy instancji i bazy, uprawnienia konta, dostępność ścieżki po stronie serwera SQL Server, wolne miejsce, blokady pliku, komunikaty SQL Server oraz zgodność kopii z planowanym sposobem przywracania.

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