Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
W tym temacie opisano sposób tworzenia kopii zapasowych plików i grup plików w programie SQL Server przy użyciu programu SQL Server Management Studio, języka Transact-SQL lub programu PowerShell. Gdy rozmiar bazy danych i wymagania dotyczące wydajności niepraktyczne tworzą pełną kopię zapasową bazy danych, zamiast tego można utworzyć kopię zapasową pliku. Kopia zapasowa pliku zawiera wszystkie dane w jednym lub więcej plikach (lub grupie plików).
Aby uzyskać więcej informacji na temat kopii zapasowych plików, zobacz Pełne kopie zapasowe (SQL Server) i różnicowe kopie zapasowe plików (SQL Server).
Przed rozpoczęciem
Ograniczenia i ograniczenia
Instrukcja BACKUP nie może być używana w kontekście jawnej ani niejawnej transakcji.
W ramach prostego modelu odzyskiwania wszystkie pliki odczytu/zapisu muszą być razem zabezpieczone kopią zapasową. Pomaga to upewnić się, że baza danych może zostać przywrócona do spójnego punktu w czasie. Zamiast indywidualnie określać każdy plik odczytu/zapisu lub grupę plików, użyj opcji READ_WRITE_FILEGROUPS. Ta opcja wykonuje kopię zapasową wszystkich grup plików odczytu/zapisu w bazie danych. Kopia zapasowa tworzona przez określenie READ_WRITE_FILEGROUPS jest znana jako częściowa kopia zapasowa, zobacz Partial Backups (SQL Server).
Aby uzyskać więcej informacji na temat ograniczeń i restrykcji, zobacz Backup Overview (SQL Server).
Zalecenia
Domyślnie każda pomyślna operacja tworzenia kopii zapasowej dodaje wpis w dzienniku błędów programu SQL Server i w dzienniku zdarzeń systemu. Jeśli tworzysz kopię zapasową dziennika bardzo często, te komunikaty o powodzeniu gromadzą się szybko, co powoduje ogromne dzienniki błędów, które mogą utrudnić znalezienie innych komunikatów. W takich przypadkach można pominąć te wpisy dziennika przy użyciu flagi śledzenia 3226, jeśli żaden z twoich skryptów nie zależy od tych wpisów, patrz Flagi śledzenia (Transact-SQL).
Uprawnienia
Uprawnienia BACKUP DATABASE
i BACKUP LOG
są domyślnie przypisane członkom stałej roli serwera sysadmin oraz stałych ról bazy danych db_owner i db_backupoperator.
Problemy z własnością i uprawnieniami w pliku fizycznym urządzenia kopii zapasowej mogą zakłócać operację tworzenia kopii zapasowej. Program SQL Server musi mieć możliwość odczytu i zapisu na urządzeniu; konto, na którym działa usługa SQL Server, musi mieć uprawnienia do zapisu. Jednak sp_addumpdevice, który dodaje wpis dla urządzenia kopii zapasowej w tabelach systemowych, nie sprawdza uprawnień dostępu do plików. Takie problemy z plikiem fizycznym urządzenia kopii zapasowej mogą nie pojawić się, dopóki nie zostanie uzyskany dostęp do zasobu fizycznego podczas próby utworzenia kopii zapasowej lub przywracania danych.
Korzystanie z programu SQL Server Management Studio
Po nawiązaniu połączenia z odpowiednim wystąpieniem silnika bazy danych SQL Server, w Eksploratorze Obiektów kliknij na nazwę serwera, aby rozwinąć drzewo serwerów.
Rozwiń Bazy danych, a w zależności od bazy danych, wybierz bazę danych użytkownika lub rozwiń Systemowe bazy danych i wybierz bazę danych systemową.
Kliknij prawym przyciskiem myszy bazę danych, wskaż polecenie Tasks, a następnie kliknij przycisk Utwórz kopię zapasową. Zostanie wyświetlone okno dialogowe Kopia zapasowa bazy danych.
Na liście Database sprawdź nazwę bazy danych. Opcjonalnie możesz wybrać inną bazę danych z listy.
Na liście Typ kopii zapasowej wybierz pozycję Pełne lub Różnicowe.
W przypadku opcji składnika kopii zapasowej kliknij Pliki i Grupy Plików.
W oknie dialogowym Wybierz pliki i grupy plików wybierz pliki i grupy plików, których kopię zapasową chcesz utworzyć. Możesz wybrać co najmniej jeden pojedynczy plik lub zaznaczyć pole wyboru grupy plików, aby automatycznie zaznaczyć wszystkie pliki w tej grupie plików.
Zaakceptuj domyślną nazwę zestawu kopii zapasowych sugerowaną w polu tekstowym Nazwa lub wprowadź inną nazwę dla zestawu kopii zapasowych.
(opcjonalnie) W polu tekstowym opis wprowadź opis zestawu kopii zapasowych.
Określ, kiedy zestaw kopii zapasowych wygaśnie:
Aby zestaw kopii zapasowej wygasał po określonej liczbie dni, kliknij przycisk Po (opcja domyślna) i wprowadź liczbę dni po utworzeniu zestawu, po którym wygaśnie. Ta wartość może wynosić od 0 do 99999 dni; wartość 0 dni oznacza, że zestaw kopii zapasowych nigdy nie wygaśnie.
Wartość domyślna jest ustawiana w opcji Domyślne przechowywanie nośników kopii zapasowych (w dniach) okna dialogowego Właściwości serwera (stronaUstawienia bazy danych). Aby uzyskać dostęp do tej opcji, kliknij prawym przyciskiem myszy nazwę serwera w Eksploratorze obiektów i wybierz właściwości; następnie wybierz stronę Ustawienia bazy danych.
Aby zestaw kopii zapasowych wygasał w określonej dacie, kliknij przycisk W dniui wprowadź datę wygaśnięcia zestawu.
Wybierz typ miejsca docelowego kopii zapasowej, klikając pozycję Dysk lub Taśma. Aby wybrać ścieżki maksymalnie 64 dysków lub stacji taśm, które zawierają jeden zestaw nośników, kliknij Dodaj. Wybrane ścieżki są wyświetlane na liście Backup do.
Uwaga
Aby usunąć miejsce docelowe kopii zapasowej, zaznacz ją i kliknij przycisk Usuń. Aby wyświetlić zawartość miejsca docelowego kopii zapasowej, zaznacz ją i kliknij pozycję Zawartość.
Aby wyświetlić lub wybrać opcje zaawansowane, kliknij pozycję Opcje w okienku Wybierz stronę.
Wybierz opcję Zastąp multimedia, klikając jedną z następujących opcji:
kopii zapasowej istniejącego zestawu multimediów
W przypadku tej opcji kliknij pozycję Dołącz do istniejącego zestawu kopii zapasowych lub Zastąp wszystkie istniejące zestawy kopii zapasowych.
Aby uzyskać informacje na temat tworzenia kopii zapasowej istniejącego zestawu multimediów, zobacz zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych (SQL Server).
(opcjonalnie) Wybierz Sprawdź nazwę zestawu mediów i wygaśnięcie zestawu kopii zapasowej, aby operacja tworzenia kopii zapasowej mogła zweryfikować datę i godzinę ich wygaśnięcia.
(opcjonalnie) Wprowadź nazwę w polu tekstowym Nazwa zestawu multimediów. Jeśli żadna nazwa nie zostanie określona, zostanie utworzony nośnik o pustej nazwie. Jeśli określisz nazwę zestawu multimediów, nośnik (taśma lub dysk) zostanie sprawdzony, czy rzeczywista nazwa jest zgodna z nazwą wprowadzoną tutaj.
Jeśli pozostawisz pustą nazwę nośnika i zaznaczysz pole wyboru, aby porównać je z nośnikiem, warunkiem powodzenia będzie to, że nazwa nośnika na nośniku również będzie pusta.
Zapisz kopię zapasową na nowym zestawie multimediów i usuń wszystkie istniejące zestawy kopii zapasowych
W przypadku tej opcji wprowadź nazwę w polu tekstowym Nazwa nowego zestawu multimediów oraz opcjonalnie opisz zestaw w polu tekstowym Opis nowego zestawu multimediów.
Aby uzyskać więcej informacji na temat tworzenia nowego zestawu multimediów, zobacz zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych (SQL Server).
(opcjonalnie) W sekcji niezawodność sprawdź:
Sprawdź kopię zapasową po zakończeniu.
wykonaj sumę kontrolną przed zapisaniem na nośnikui (opcjonalnie) kontynuuj w przypadku błędu sumy kontrolnej.
Aby uzyskać więcej informacji na temat sum kontrolnych, odwołaj się do Possible Media Errors During Backup and Restore (SQL Server).
Jeśli tworzysz kopię zapasową na napędzie taśmowym (zgodnie z opisem w sekcji Destination strony Ogólne), opcja 'Rozładuj taśmę po wykonaniu kopii zapasowej' jest aktywna. Kliknięcie tej opcji umożliwia opcję Przewiń taśmę przed rozładunkiem.
Notatka
Opcje w sekcji Dziennika transakcji są nieaktywne, chyba że wykonujesz kopię zapasową dziennika transakcji (zgodnie z opisem w sekcji Typ kopii zapasowej na stronie Ogólne).
Program SQL Server 2008 (10.0.x) Enterprise i nowsze wersje obsługują kompresję kopii zapasowych . Domyślnie, to czy kopia zapasowa jest kompresowana, zależy od wartości opcji konfiguracji serwera domyślnego kompresowania kopii zapasowej. Jednak niezależnie od bieżącego domyślnego poziomu serwera można skompresować kopię zapasową, zaznaczając Kompresuj kopię zapasową, i można zapobiec kompresji, zaznaczając Nie kompresuj kopii zapasowej.
Aby wyświetlić domyślną kompresję bieżącej kopii zapasowej, zobacz lub skonfiguruj domyślną opcję konfiguracji serwera dla kompresji kopii zapasowej
Korzystanie z Transact-SQL
Aby utworzyć kopię zapasową pliku lub grupy plików, użyj instrukcji BACKUP DATABASE <file_or_filegroup>. Minimalnie ta instrukcja musi określać następujące elementy:
Nazwa bazy danych.
Klauzula FILE lub FILEGROUP dla każdego pliku lub grupy plików, odpowiednio.
Urządzenie kopii zapasowej, na którym zostanie zapisana pełna kopia zapasowa.
Podstawowa składnia Transact-SQL kopii zapasowej plików to:
KOPIA ZAPASOWA BAZY DANYCH
{ FILE =logical_file_name | FILEGROUP =logical_filegroup_name } [ ,...f ]
DO backup_device [ ,...n ]
[ Z z_opcjami [ ,...o ] ] ;
Opcja | Opis |
---|---|
bazy danych | Jest bazą danych, z której jest tworzona kopia zapasowa dziennika transakcji, częściowej bazy danych lub kompletnej bazy danych. |
= logical_file_name PLIK | Określa nazwę logiczną pliku do uwzględnienia w kopii zapasowej pliku. |
FILEGROUP =logical_filegroup_name | Określa nazwę logiczną grupy plików do uwzględnienia w kopii zapasowej pliku. W ramach prostego modelu odzyskiwania kopia zapasowa grupy plików jest dozwolona tylko dla grupy plików tylko do odczytu. |
[ ,...f ] | Jest symbolem zastępczym wskazującym, że można określić wiele plików i grup plików. Liczba plików lub grup plików jest nieograniczona. |
backup_device [ ,...n ] | Określa listę z 1 do 64 urządzeń kopii zapasowych do użycia na potrzeby operacji tworzenia kopii zapasowej. Możesz określić fizyczne urządzenie do tworzenia kopii zapasowej lub określić odpowiednie logiczne urządzenie kopii zapasowej, jeśli zostało już zdefiniowane. Aby określić fizyczne urządzenie kopii zapasowej, użyj opcji DISK lub TAPE: { DYSK | TAŚMA } =physical_backup_device_name Aby uzyskać więcej informacji, zobacz Backup Devices (SQL Server). |
WITH with_options [ ,...o ] | Opcjonalnie określa co najmniej jedną dodatkową opcję, taką jak RÓŻNICOWA. Różnicowa kopia zapasowa wymaga pełnej kopii zapasowej jako podstawy. Aby uzyskać więcej informacji, zobacz Tworzenie różnicowej kopii zapasowej bazy danych (SQL Server). |
W ramach pełnego modelu odzyskiwania należy również utworzyć kopię zapasową dziennika transakcji. Aby użyć kompletnego zestawu pełnych kopii zapasowych plików w celu przywrócenia bazy danych, musisz również mieć wystarczającą liczbę kopii zapasowych dziennika, aby obejmować wszystkie kopie zapasowe plików, od początku pierwszej kopii zapasowej plików.
Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowej dziennika transakcji (SQL Server).
Przykłady
Poniższe przykłady tworzą kopię zapasową co najmniej jednego pliku pomocniczej grupy plików bazy danych Sales
. Ta baza danych używa pełnego modelu odzyskiwania i zawiera następujące pomocnicze grupy plików:
Grupa plików o nazwie
SalesGroup1
zawierająca plikiSGrp1Fi1
iSGrp1Fi2
.Grupa plików o nazwie
SalesGroup2
zawierająca plikiSGrp2Fi1
iSGrp2Fi2
.
A. Utwórz kopię zapasową dwóch plików
Poniższy przykład tworzy różnicową kopię zapasową jedynie pliku SGrp1Fi2
z pliku SalesGroup1
oraz pliku SGrp2Fi2
z grupy plików SalesGroup2
.
--Backup the files in the SalesGroup1 secondary filegroup.
BACKUP DATABASE Sales
FILE = 'SGrp1Fi2',
FILE = 'SGrp2Fi2'
TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck';
GO
B. Tworzenie pełnej kopii zapasowej plików pomocniczych grup plików
Poniższy przykład tworzy pełną kopię zapasową każdego pliku w obu pomocniczych grupach plików.
--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck';
GO
C. Tworzenie różnicowej kopii zapasowej plików pomocniczych grup plików
Poniższy przykład tworzy różnicową kopię zapasową plików dla każdego pliku w obu pomocniczych grupach plików.
--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
WITH
DIFFERENTIAL;
GO
Korzystanie z programu PowerShell
Skonfiguruj i użyj dostawcy programu PowerShell programu SQL Server.
Użyj polecenia cmdlet Backup-SqlDatabase Backup-SqlDatabase i określ Files dla wartości parametru -BackupAction. Ponadto określ jeden z następujących parametrów:
Aby utworzyć kopię zapasową określonego pliku, określ parametr -DatabaseFileString, gdzie string jest jednym lub więcej plików bazy danych do utworzenia kopii zapasowej.
Aby utworzyć kopię zapasową wszystkich plików w danej grupie plików, określ parametr -DatabaseFileGroupString, gdzie ciąg jest co najmniej jedną grupą plików bazy danych do utworzenia kopii zapasowej.
Poniższy przykład tworzy pełną kopię zapasową plików dla każdego pliku w pomocniczych grupach plików "FileGroup1" i "FileGroup2" w bazie danych <myDatabase>
. Kopie zapasowe są tworzone w domyślnej lokalizacji instancji serwera Computer\Instance
.
Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"
Zobacz też
Przegląd kopii zapasowej (SQL Server)
BACKUP (Transact-SQL)
PRZYWRÓĆ (Transact-SQL)
Historia Kopii Zapasowych i Informacje Nagłówkowe (SQL Server)
tworzenie kopii zapasowej bazy danych (strona ogólna)
Kopia zapasowa bazy danych (Strona z opcjami kopii zapasowej)
Pełne kopie zapasowe plików (SQL Server)
Kopie Zapasowe Różnicowe (SQL Server)
przywracanie plików (pełny model odzyskiwania)
Przywracanie plików (prosty model przywracania)