KOPIA ZAPASOWA (Transact-SQL)
Wykonuje kopię zapasową bazy danych SQL.
Wybieranie produktu
W poniższym wierszu wybierz nazwę produktu, którą cię interesuje, i zostanie wyświetlona tylko informacja o tym produkcie.
Aby uzyskać więcej informacji na temat konwencji składni, zobacz Transact-SQL konwencje składni.
* SQL Server *
usługi
SQL Server
Tworzy kopię zapasową pełnej bazy danych programu SQL Server w celu utworzenia kopii zapasowej bazy danych lub co najmniej jednego pliku lub grup plików bazy danych w celu utworzenia kopii zapasowej pliku (BACKUP DATABASE). Ponadto w ramach modelu pełnego odzyskiwania lub modelu odzyskiwania rejestrowanego zbiorczo tworzy kopię zapasową dziennika transakcji bazy danych w celu utworzenia kopii zapasowej dziennika (BACKUP LOG).
Składnia
--Back up a whole database
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL
| <general_WITH_options> [ ,...n ] } ]
[;]
--Back up specific files or filegroups
BACKUP DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
--Create a partial backup
BACKUP DATABASE { database_name | @database_name_var }
READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
--Back up the transaction log (full and bulk-logged recovery models)
BACKUP LOG
{ database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { <general_WITH_options> | <log_specific_options> } [ ,...n ] ]
[;]
--Back up all the databases on an instance of SQL Server (a server)
ALTER SERVER CONFIGURATION
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
[;]
BACKUP SERVER
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { METADATA_ONLY
| <general_WITH_options> [ ,...n ] } ]
[;]
--Back up a group of databases
ALTER DATABASE <database>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
ALTER DATABASE <...>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
...
BACKUP GROUP {<database> [,... ]}
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { METADATA_ONLY
| <general_WITH_options> [ ,...n ] } ]
[;]
<backup_device>::=
{
{ logical_device_name | @logical_device_name_var }
| { DISK
| TAPE
| URL } =
{ 'physical_device_name' | @physical_device_name_var | 'NUL' }
}
<MIRROR TO clause>::=
MIRROR TO <backup_device> [ ,...n ]
<file_or_filegroup>::=
{
FILE = { logical_file_name | @logical_file_name_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
}
<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
<general_WITH_options> [ ,...n ]::=
--Backup Set Options
COPY_ONLY
| [ COMPRESSION [ ALGORITHM = { MS_XPRESS | accelerator_algorithm } ] | NO_COMPRESSION ]
| DESCRIPTION = { 'text' | @text_variable }
| NAME = { backup_set_name | @backup_set_name_var }
| CREDENTIAL
| ENCRYPTION
| FILE_SNAPSHOT
| { EXPIREDATE = { 'date' | @date_var }
| RETAINDAYS = { days | @days_var } }
| { METADATA_ONLY | SNAPSHOT }
--Media Set Options
{ NOINIT | INIT }
| { NOSKIP | SKIP }
| { NOFORMAT | FORMAT }
| MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ = percentage ]
--Tape Options
{ REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
--Encryption Options
ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name
<log_specific_options> [ ,...n ]::=
--Log-specific Options
{ NORECOVERY | STANDBY = undo_file_name }
| NO_TRUNCATE
Argumenty
BAZA DANYCH
Określa pełną kopię zapasową bazy danych. Jeśli zostanie określona lista plików i grup plików, tworzona jest kopia zapasowa tylko tych plików i grup plików. Podczas tworzenia pełnej lub różnicowej kopii zapasowej bazy danych program SQL Server tworzy kopię zapasową wystarczającej ilości dziennika transakcji, aby utworzyć spójną bazę danych po przywróceniu kopii zapasowej.
Po przywróceniu kopii zapasowej utworzonej przez bazę danych kopii zapasowej (kopii zapasowej) cała kopia zapasowa zostanie przywrócona. Tylko kopia zapasowa dziennika może zostać przywrócona do określonego czasu lub transakcji w ramach kopii zapasowej.
Nuta
W bazie danych master
można wykonać tylko pełną kopię zapasową bazy danych.
DZIENNIK
Określa kopię zapasową tylko dziennika transakcji. Kopia zapasowa dziennika jest wykonywana z ostatniej pomyślnie wykonanej kopii zapasowej dziennika na bieżącym końcu dziennika. Przed utworzeniem pierwszej kopii zapasowej dziennika należy utworzyć pełną kopię zapasową.
Możesz przywrócić kopię zapasową dziennika do określonego czasu lub transakcji w ramach kopii zapasowej, określając WITH STOPAT
, STOPATMARK
lub STOPBEFOREMARK
w instrukcji RESTORE LOG.
Nuta
Po utworzeniu typowej kopii zapasowej dziennika transakcji niektóre rekordy dziennika transakcji stają się nieaktywne, chyba że określisz WITH NO_TRUNCATE
lub COPY_ONLY
. Dziennik jest obcinany po tym, jak wszystkie rekordy w co najmniej jednym pliku dziennika wirtualnego stają się nieaktywne. Jeśli dziennik nie jest obcinany po rutynowych kopiach zapasowych dziennika, coś może opóźnić obcinanie dziennika. Aby uzyskać więcej informacji, zobacz Czynniki, które mogą opóźnić obcinanie dziennika.
GROUP (>,... bazy danych<n)
Wprowadzono w programie SQL Server 2022 (16.x).
Utwórz kopię zapasową grupy baz danych. Używa kopii zapasowej migawki. Wymaga funkcji WITH METADATA_ONLY. Zobacz Tworzenie kopii zapasowej migawki Transact-SQL.
SERWER
Wprowadzono w programie SQL Server 2022 (16.x).
Tworzenie kopii zapasowych wszystkich baz danych w wystąpieniu programu SQL Server. Używa kopii zapasowej migawki. Wymaga funkcji WITH METADATA_ONLY. Zobacz Tworzenie kopii zapasowej migawki Transact-SQL.
METADATA_ONLY
Wprowadzono w programie SQL Server 2022 (16.x).
Wymagane do tworzenia kopii zapasowej migawki.
BACKUP SERVER
lub BACKUP GROUP...
Zobacz Tworzenie kopii zapasowej migawki Transact-SQL.
METADATA_ONLY jest synonimem migawki. Interfejs urządzenia wirtualnego (VDI) używa funkcji SNAPSHOT. Aby uzyskać informacje o interfejsie VDI, zobacz Interfejs wirtualnego urządzenia (VDI) — dokumentacja.
{ database_name | @database_name_var }
Jest bazą danych, z której jest tworzona kopia zapasowa dziennika transakcji, częściowej bazy danych lub kompletnej bazy danych. Jeśli jest podana jako zmienna (@database_name_var), tę nazwę można określić jako stałą ciągu (@database_name_var=nazwa bazy danych) lub jako zmienną typu danych ciągu znaków, z wyjątkiem ntext lub tekst typów danych.
Nuta
Nie można utworzyć kopii zapasowej dublowania bazy danych w ramach powiązania dublowania bazy danych.
<file_or_filegroup> [ ,...n ]
Używany tylko w przypadku bazy danych KOPII ZAPASOWEJ określa plik bazy danych lub grupę plików do uwzględnienia w kopii zapasowej pliku lub określa plik lub grupę plików tylko do odczytu, aby uwzględnić w częściowej kopii zapasowej.
PLIK = { logical_file_name | @logical_file_name_var }
Jest logiczną nazwą pliku lub zmiennej, której wartość jest równa logicznej nazwie pliku, który ma zostać uwzględniony w kopii zapasowej.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Jest nazwą logiczną grupy plików lub zmiennej, której wartość jest równa nazwie logicznej grupy plików, która ma zostać uwzględniona w kopii zapasowej. W ramach prostego modelu odzyskiwania kopia zapasowa grupy plików jest dozwolona tylko dla grupy plików tylko do odczytu.
Nuta
Rozważ użycie kopii zapasowych plików, gdy rozmiar bazy danych i wymagania dotyczące wydajności niepraktyczne tworzą kopię zapasową bazy danych. Urządzenie NUL może służyć do testowania wydajności kopii zapasowych, ale nie należy ich używać w środowiskach produkcyjnych.
n
Jest symbolem zastępczym wskazującym, że można określić wiele plików i grup plików na liście rozdzielanej przecinkami. Liczba jest nieograniczona.
Aby uzyskać więcej informacji, zobacz pełne kopie zapasowe plików i tworzenie kopii zapasowych plików i grup plików.
READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } [ ,...n ]
Określa częściową kopię zapasową. Częściowa kopia zapasowa obejmuje wszystkie pliki odczytu/zapisu w bazie danych: podstawową grupę plików i wszystkie pomocnicze grupy plików odczytu/zapisu, a także wszystkie określone pliki lub grupy plików tylko do odczytu.
READ_WRITE_FILEGROUPS
Określa, że kopie zapasowe wszystkich grup plików odczytu/zapisu są tworzone w częściowej kopii zapasowej. Jeśli baza danych jest tylko do odczytu, READ_WRITE_FILEGROUPS zawiera tylko podstawową grupę plików.
Ważny
Jawne wyświetlanie listy grup plików do odczytu/zapisu przy użyciu polecenia FILEGROUP zamiast READ_WRITE_FILEGROUPS tworzy kopię zapasową pliku.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Jest logiczną nazwą grupy plików tylko do odczytu lub zmiennej, której wartość jest równa logicznej nazwie grupy plików tylko do odczytu, która ma być uwzględniona w częściowej kopii zapasowej. Aby uzyskać więcej informacji, zobacz "<file_or_filegroup>", wcześniej w tym artykule.
n
Jest symbolem zastępczym wskazującym, że można określić wiele grup plików tylko do odczytu na liście rozdzielanej przecinkami.
Aby uzyskać więcej informacji na temat częściowych kopii zapasowych, zobacz Częściowe kopie zapasowe.
DO <backup_device> [ ,...n ]
Wskazuje, że towarzyszący zestaw urządzeń kopii zapasowych jest zestawem niemirrored nośnika lub pierwszym z dublowanych zestawów multimediów (dla których zadeklarowano co najmniej jedną klauzulę MIRROR TO).
<backup_device>
Określa logiczne lub fizyczne urządzenie kopii zapasowej do użycia na potrzeby operacji tworzenia kopii zapasowej.
{ logical_device_name | @logical_device_name_var }
Dotyczy: PROGRAMU SQL Server
Jest logiczną nazwą urządzenia kopii zapasowej, do którego jest tworzona kopia zapasowa bazy danych. Nazwa logiczna musi być zgodna z regułami dotyczącymi identyfikatorów. Jeśli podano jako zmienną (@logical_device_name_var), nazwę urządzenia kopii zapasowej można określić jako stałą ciągu (@logical_device_name_var= nazwę urządzenia logicznej kopii zapasowej) lub jako zmienną dowolnego typu danych ciągu znaków, z wyjątkiem ntext lub tekst typów danych.
{ DYSK | TAŚMA | URL} = { 'physical_device_name' | @physical_device_name_var | "NUL" }
Dotyczy: SQL Server (adres URL rozpoczynający się od programu SQL Server 2012 (11.x) SP1 CU2)
Określa plik dysku lub urządzenie taśmy albo adres URL.
Format adresu URL służy do tworzenia kopii zapasowych w magazynie obiektów zgodnych z usługą Microsoft Azure Blob Storage lub S3. Aby uzyskać więcej informacji i przykładów, zobacz:
- tworzenie kopii zapasowych i przywracanie programu SQL Server za pomocą usługi Microsoft Azure Blob Storage. Aby zapoznać się z samouczkiem, zobacz Tutorial: SQL Server Backup and Restore to Microsoft Azure Blob Storage.
- Tworzenie kopii zapasowej i przywracanie do magazynu zgodnego z programem S3 zostało wprowadzone w programie SQL Server 2022 (16.x), zobacz tworzenie kopii zapasowej i przywracanie programu SQL Server za pomocą magazynu obiektów zgodnego z programem S3. Zapoznaj się również z opcją tworzenia kopii zapasowej programu SQL Server pod adresem URL magazynu obiektów zgodnego z usługą S3.
Nuta
Urządzenie dysku NUL odrzuci wszystkie wysłane do niego informacje i powinno być używane tylko do testowania. Nie jest to przeznaczone do użytku produkcyjnego.
Ważny
Począwszy od programu SQL Server 2012 (11.x) SP1 CU2 do programu SQL Server 2014 (12.x), można utworzyć kopię zapasową tylko na jednym urządzeniu podczas tworzenia kopii zapasowej adresu URL dla usługi Azure Blob Storage. Aby utworzyć kopię zapasową na wielu urządzeniach podczas tworzenia kopii zapasowej adresu URL, należy użyć tokenów sygnatury dostępu współdzielonego (SAS) programu SQL Server 2016 (13.x). Aby uzyskać przykłady tworzenia sygnatury dostępu współdzielonego, zobacz tworzenie kopii zapasowej programu SQL Server pod adresem URL i Upraszczanie tworzenia poświadczeń SQL przy użyciu tokenów sygnatury dostępu współdzielonego (SAS) w usłudze Azure Storage przy użyciu programu PowerShell.
Urządzenie dyskowe nie musi istnieć, zanim zostanie określone w instrukcji BACKUP. Jeśli urządzenie fizyczne istnieje i opcja INIT nie zostanie określona w instrukcji BACKUP, kopia zapasowa zostanie dołączona do urządzenia.
Nuta
Urządzenie NUL odrzuci wszystkie dane wejściowe wysłane do tego pliku, ale kopia zapasowa będzie nadal oznaczać wszystkie strony jako kopię zapasową.
Aby uzyskać więcej informacji, zobacz Backup Devices.
Nuta
Opcja TAŚMa zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji.
n
Jest symbolem zastępczym wskazującym, że na liście rozdzielanej przecinkami można określić maksymalnie 64 urządzenia kopii zapasowej.
DUBLOWANIE DO <backup_device> [ ,...n ]
Określa zestaw maksymalnie trzech pomocniczych urządzeń kopii zapasowych, z których każda odzwierciedla urządzenia kopii zapasowych określone w klauzuli TO. Klauzula MIRROR TO musi określać ten sam typ i liczbę urządzeń kopii zapasowych co klauzula TO. Maksymalna liczba klauzul MIRROR TO wynosi trzy.
Ta opcja jest dostępna tylko w wersji Enterprise programu SQL Server.
Nuta
W przypadku MIRROR TO = DISK
kopia zapasowa automatycznie określa odpowiedni rozmiar bloku dla urządzeń dyskowych na podstawie rozmiaru sektora dysku. Jeśli dysk MIRROR TO jest sformatowany z innym rozmiarem sektora niż dysk określony jako podstawowe urządzenie kopii zapasowej, polecenie kopii zapasowej zakończy się niepowodzeniem. Aby dublować kopie zapasowe na urządzeniach o różnych rozmiarach sektorów, należy określić parametr BLOCKSIZE i należy ustawić na najwyższy rozmiar sektora we wszystkich urządzeniach docelowych. Aby uzyskać więcej informacji na temat rozmiaru bloku, zobacz "BLOCKSIZE" w dalszej części tego tematu.
<backup_device>
Zobacz "<backup_device>", wcześniej w tej sekcji.
n
Jest symbolem zastępczym wskazującym, że na liście rozdzielanej przecinkami można określić maksymalnie 64 urządzenia kopii zapasowej. Liczba urządzeń w klauzuli MIRROR TO musi być równa liczbie urządzeń w klauzuli TO.
Aby uzyskać więcej informacji, zobacz sekcję "Media Families in Mirrored Media Sets" (Rodziny mediów w zestawach dublowanych multimediów) w sekcji uwagi w dalszej części tego artykułu.
[ następne dublowanie do ]
Jest symbolem zastępczym wskazującym, że pojedyncza instrukcja BACKUP może zawierać maksymalnie trzy klauzule MIRROR TO, oprócz pojedynczej klauzuli TO.
Z opcjami
Określa opcje, które mają być używane z operacją tworzenia kopii zapasowej.
POŚWIADCZEŃ
Dotyczy: SQL Server (począwszy od programuSQL Server 2012 (11.x) SP1 CU2).
Używane tylko podczas tworzenia kopii zapasowej w usłudze Azure Blob Storage.
FILE_SNAPSHOT
Dotyczy: SQL Server (począwszy od programu SQL Server 2016 (13.x)).
Służy do tworzenia migawki plików bazy danych platformy Azure, gdy wszystkie pliki bazy danych programu SQL Server są przechowywane przy użyciu usługi Azure Blob Storage. Aby uzyskać więcej informacji, zobacz SQL Server Data Files in Microsoft Azure. Kopia zapasowa migawki programu SQL Server tworzy migawki platformy Azure plików bazy danych (plików danych i dzienników) w spójnym stanie. Spójny zestaw migawek platformy Azure tworzy kopię zapasową i jest rejestrowany w pliku kopii zapasowej. Jedyną różnicą między BACKUP DATABASE TO URL WITH FILE_SNAPSHOT
a BACKUP LOG TO URL WITH FILE_SNAPSHOT
jest to, że ten ostatni również obcina dziennik transakcji, podczas gdy pierwszy nie. W przypadku tworzenia kopii zapasowej migawki programu SQL Server po początkowej pełnej kopii zapasowej wymaganej przez program SQL Server do ustanowienia łańcucha kopii zapasowych jest wymagana tylko jedna kopia zapasowa dziennika transakcji w celu przywrócenia bazy danych do punktu w czasie tworzenia kopii zapasowej dziennika transakcji. Ponadto do przywrócenia bazy danych do punktu w czasie między dwiema kopiami zapasowymi dziennika transakcji wymagane są tylko dwie kopie zapasowe dziennika transakcji.
RÓŻNICZKA
Używane tylko w przypadku bazy danych BACKUP określa, że kopia zapasowa bazy danych lub plików powinna składać się tylko z części bazy danych lub pliku zmienionego od czasu ostatniej pełnej kopii zapasowej. Różnicowa kopia zapasowa zwykle zajmuje mniej miejsca niż pełna kopia zapasowa. Użyj tej opcji, aby wszystkie pojedyncze kopie zapasowe dziennika wykonywane od czasu ostatniej pełnej kopii zapasowej nie musiały być stosowane.
Nuta
Domyślnie BACKUP DATABASE
tworzy pełną kopię zapasową.
Aby uzyskać więcej informacji, zobacz różnicowych kopii zapasowych.
SZYFROWANIE
Służy do określania szyfrowania kopii zapasowej. Można określić algorytm szyfrowania, aby zaszyfrować kopię zapasową za pomocą polecenia lub określić NO_ENCRYPTION
, aby nie mieć zaszyfrowanej kopii zapasowej. Zalecane jest szyfrowanie, aby ułatwić zabezpieczanie plików kopii zapasowych. Lista algorytmów, które można określić, to:
AES_128
AES_192
AES_256
TRIPLE_DES_3KEY
NO_ENCRYPTION
Jeśli zdecydujesz się zaszyfrować, musisz również określić szyfrowanie przy użyciu opcji szyfrujących:
-
SERVER CERTIFICATE
= Encryptor_Name -
SERVER ASYMMETRIC KEY
= Encryptor_Name
SERVER CERTIFICATE
i SERVER ASYMMETRIC KEY
to certyfikat i klucz asymetryczny utworzony w bazie danych master
. Aby uzyskać więcej informacji, zobacz odpowiednio CREATE CERTIFICATE
i CREATE ASYMMETRIC KEY
.
Ostrzeżenie
Gdy szyfrowanie jest używane w połączeniu z argumentem
Opcje zestawu kopii zapasowych
Te opcje działają na zestawie kopii zapasowych utworzonym przez tę operację tworzenia kopii zapasowej.
Nuta
Aby określić zestaw kopii zapasowych dla operacji przywracania, użyj opcji FILE = <backup_set_file_number>
. Aby uzyskać więcej informacji na temat określania zestawu kopii zapasowych, zobacz "Określanie zestawu kopii zapasowych" w argumenty RESTORE.
COPY_ONLY
Określa, że kopia zapasowa jest kopii zapasowej tylko do kopiowania, która nie ma wpływu na normalną sekwencję kopii zapasowych. Kopia zapasowa tylko do kopiowania jest tworzona niezależnie od regularnie zaplanowanych, konwencjonalnych kopii zapasowych. Kopia zapasowa tylko do kopiowania nie ma wpływu na ogólne procedury tworzenia kopii zapasowych i przywracania bazy danych.
Kopie zapasowe tylko do kopiowania powinny być używane w sytuacjach, w których kopia zapasowa jest wykonywana specjalnie, na przykład tworzenie kopii zapasowej dziennika przed przywróceniem pliku online. Zazwyczaj kopia zapasowa dziennika tylko do kopiowania jest używana raz, a następnie usuwana.
W przypadku użycia z
BACKUP DATABASE
opcjaCOPY_ONLY
tworzy pełną kopię zapasową, która nie może służyć jako baza różnicowa. Różnicowa mapa bitowa nie jest aktualizowana, a różnicowe kopie zapasowe zachowują się tak, jakby kopia zapasowa tylko do kopiowania nie istnieje. Kolejne różnicowe kopie zapasowe używają najnowszej konwencjonalnej pełnej kopii zapasowej jako bazy.Ważny
Jeśli
DIFFERENTIAL
iCOPY_ONLY
są używane razem,COPY_ONLY
zostanie zignorowana i zostanie utworzona różnicowa kopia zapasowa.W przypadku użycia z
BACKUP LOG
opcjaCOPY_ONLY
tworzy kopii zapasowej dziennika tylko do kopiowania, która nie obcina dziennika transakcji. Kopia zapasowa dziennika tylko do kopiowania nie ma wpływu na łańcuch dzienników, a inne kopie zapasowe dzienników zachowują się tak, jakby kopia zapasowa tylko do kopiowania nie istnieje.
Aby uzyskać więcej informacji, zobacz Copy-Only Backups.
[ KOMPRESJA [ ALGORYTM = ( { MS_XPRESS | accelerator_algorithm } ) ] | NO_COMPRESSION ]
Określa, czy kompresja kopii zapasowej jest wykonywana na tej kopii zapasowej, przesłaniając wartość domyślną na poziomie serwera.
Podczas instalacji domyślne zachowanie nie jest kompresją kopii zapasowej. Tę wartość domyślną można jednak zmienić, ustawiając domyślną opcję konfiguracji serwera
Aby uzyskać informacje na temat używania kompresji kopii zapasowej z baz danych z obsługą funkcji Transparent Data Encryption (TDE), zobacz sekcję Uwagi.
KOMPRESJA
Jawnie włącza kompresję kopii zapasowych.
NO_COMPRESSION
Jawnie wyłącza kompresję kopii zapasowej.
Program SQL Server 2022 (16.x) wprowadza ALGORITHM
, który identyfikuje algorytm kompresji dla operacji. Wartość domyślna to MS_XPRESS
. Jeśli skonfigurowano zintegrowane przyspieszanie i odciążanie, możesz użyć akceleratora dostarczonego przez rozwiązanie. Jeśli na przykład skonfigurowano technologia Intel® QuickAssist Technology (QAT) dla programu SQL Server, poniższy przykład uzupełnia kopię zapasową przy użyciu rozwiązania akceleratora, a biblioteka QATzip używająca QZ_DEFLATE
z poziomem kompresji 1.
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE)
DESCRIPTION = { 'text' | @text_variable }
Określa dowolny tekst opisujący zestaw kopii zapasowych. Ciąg może mieć maksymalnie 255 znaków.
NAME = { backup_set_name | @backup_set_var }
Określa nazwę zestawu kopii zapasowych. Nazwy mogą mieć maksymalnie 128 znaków. Jeśli nazwa nie jest określona, jest pusta.
{ EXPIREDATE ='data' | RETAINDAYS = dni }
Określa, kiedy można zastąpić zestaw kopii zapasowych dla tej kopii zapasowej. Jeśli obie te opcje są używane, funkcja RETAINDAYS ma pierwszeństwo przed wygasłą datą wygaśnięcia.
Jeśli żadna z opcji nie zostanie określona, data wygaśnięcia zostanie określona przez ustawienie konfiguracji media retention
. Aby uzyskać więcej informacji, zobacz opcje konfiguracji serwera .
Ważny
Te opcje uniemożliwiają programowi SQL Server zastąpienie pliku. Taśmy można wymazać przy użyciu innych metod, a pliki dysków można usunąć za pośrednictwem systemu operacyjnego. Aby uzyskać więcej informacji na temat weryfikacji wygaśnięcia, zobacz SKIP i FORMAT w tym temacie.
WYGASŁE = { data' | @date_var }
Określa, kiedy zestaw kopii zapasowych wygasa i może zostać zastąpiony. Jeśli podano jako zmienną (@date_var), ta data musi być zgodna ze skonfigurowanym systemem formacie data/godzina i być określona jako jedna z następujących wartości:
- Stała ciągu (@ datadate_var=)
- Zmienna typu danych ciągu znaków (z wyjątkiem ntext lub tekst typów danych)
-
smalldatetime - Zmienna datetime
Na przykład:
'Dec 31, 2020 11:59 PM'
'1/1/2021'
Aby uzyskać informacje na temat określania wartości daty/godziny, zobacz Typy dat i godzin.
Nuta
Aby zignorować datę wygaśnięcia, użyj opcji SKIP
.
RETAINDAYS = { dni | @days_var }
Określa liczbę dni, które muszą upłynąć przed zastąpieniem tego zestawu nośników kopii zapasowych. Jeśli podano jako zmienną (@days_var), musi być określona jako liczba całkowita.
{ METADATA_ONLY | MIGAWKA }
Dotyczy: programu SQL Server 2022 (16.x)
METADATA_ONLY i SNAPSHOT są synonimami.
Opcje zestawu multimediów
Te opcje działają na nośnikach ustawionych jako całość.
{ NOINIT | INIT }
Określa, czy operacja tworzenia kopii zapasowej dołącza lub zastępuje istniejące zestawy kopii zapasowych na nośniku kopii zapasowej. Wartość domyślna to dołączanie do najnowszego zestawu kopii zapasowych na nośniku (NOINIT).
Nuta
Aby uzyskać informacje na temat interakcji między { NOINIT | INIT } i { NOSKIP | SKIP }, zobacz uwagi w dalszej części tego tematu.
NOINIT
Wskazuje, że zestaw kopii zapasowych jest dołączany do określonego zestawu multimediów, zachowując istniejące zestawy kopii zapasowych. Jeśli dla zestawu multimediów zdefiniowano hasło nośnika, należy podać hasło. Wartość domyślna to NOINIT.
Aby uzyskać więcej informacji, zobacz zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych.
INIT
Określa, że wszystkie zestawy kopii zapasowych powinny zostać zastąpione, ale zachowuje nagłówek nośnika. W przypadku określenia init wszelkie istniejące kopie zapasowe na tym urządzeniu zostaną zastąpione, jeśli warunki są spełnione. Domyślnie kopia zapasowa sprawdza następujące warunki i nie zastępuje nośnika kopii zapasowej, jeśli istnieje jeden z następujących warunków:
- Żaden zestaw kopii zapasowych nie wygasł jeszcze. Aby uzyskać więcej informacji, zobacz opcje
EXPIREDATE
iRETAINDAYS
. - Podana nazwa zestawu kopii zapasowych w instrukcji BACKUP nie jest zgodna z nazwą na nośniku kopii zapasowej. Aby uzyskać więcej informacji, zobacz opcję NAME, wcześniej w tej sekcji.
Aby zastąpić te kontrole, użyj opcji SKIP
.
Aby uzyskać więcej informacji, zobacz zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych.
{ NOSKIP | SKIP }
Określa, czy operacja tworzenia kopii zapasowej sprawdza datę i godzinę wygaśnięcia zestawów kopii zapasowych na nośniku przed ich zastąpieniem.
Nuta
Aby uzyskać informacje na temat interakcji między { NOINIT | INIT } i { NOSKIP | SKIP }, zobacz "Uwagi", w dalszej części tego tematu.
NOSKIP
Instruuje instrukcję BACKUP, aby sprawdzić datę wygaśnięcia wszystkich zestawów kopii zapasowych na nośniku przed zezwoleniem na ich zastąpienie. Jest to zachowanie domyślne.
POMINĄĆ
Wyłącza sprawdzanie wygaśnięcia zestawu kopii zapasowych i nazwy, które jest zwykle wykonywane przez instrukcję BACKUP, aby zapobiec zastępowaniu zestawów kopii zapasowych. Aby uzyskać informacje o interakcjach między { INIT | NOINIT } i { NOSKIP | SKIP }, zobacz "Uwagi", w dalszej części tego artykułu.
Aby wyświetlić daty wygaśnięcia zestawów kopii zapasowych, wykonaj zapytanie w kolumnie expiration_datebackupset tabeli historii.
{ NOFORMAT | FORMAT }
Określa, czy nagłówek nośnika powinien być zapisywany na woluminach używanych na potrzeby tej operacji tworzenia kopii zapasowej, zastępując wszystkie istniejące zestawy nagłówków i kopii zapasowych multimediów.
NOFORMAT
Określa, że operacja tworzenia kopii zapasowej zachowuje istniejący nagłówek nośnika i zestawy kopii zapasowych na woluminach multimedialnych używanych na potrzeby tej operacji tworzenia kopii zapasowej. Jest to zachowanie domyślne.
FORMAT
Określa, że zostanie utworzony nowy zestaw multimediów. Format powoduje, że operacja tworzenia kopii zapasowej zapisuje nowy nagłówek nośnika na wszystkich woluminach multimedialnych używanych do operacji tworzenia kopii zapasowej. Istniejąca zawartość woluminu staje się nieprawidłowa, ponieważ wszystkie istniejące zestawy nagłówków i kopii zapasowych multimediów są zastępowane.
Ważny
Należy ostrożnie używać FORMAT
. Formatowanie dowolnego woluminu zestawu multimediów powoduje, że cały zestaw multimediów jest bezużyteczny. Jeśli na przykład zainicjujesz pojedynczą taśmę należącą do istniejącego zestawu nośników pasiastych, cały zestaw nośników jest renderowany bezużytecznie.
Określanie formatu oznacza SKIP
; SKIP
nie musi być jawnie określona.
MEDIADESCRIPTION = { tekst | @text_variable }
Określa dowolny opis tekstu, maksymalnie 255 znaków zestawu multimediów.
MEDIANAME = { media_name | @media_name_variable }
Określa nazwę nośnika dla całego zestawu nośników kopii zapasowych. Nazwa nośnika nie może być dłuższa niż 128 znaków. Jeśli określono MEDIANAME
, musi być zgodna z wcześniej określoną nazwą nośnika już istniejącą na woluminach kopii zapasowych. Jeśli nie zostanie określona lub jeśli zostanie określona opcja SKIP, nie ma sprawdzania weryfikacji nazwy nośnika.
BLOCKSIZE = { blocksize | @blocksize_variable }
Określa rozmiar bloku fizycznego w bajtach. Obsługiwane rozmiary to 512, 1024, 2048, 4096, 8192, 16384, 32768 i 65536 (64 KB) bajtów. Wartość domyślna to 65536 dla urządzeń taśmowych i 512 w przeciwnym razie. Zazwyczaj ta opcja jest niepotrzebna, ponieważ kopia zapasowa automatycznie wybiera rozmiar bloku odpowiedni dla urządzenia. Jawnie stwierdzając, że rozmiar bloku zastępuje automatyczny wybór rozmiaru bloku.
Jeśli tworzysz kopię zapasową, którą planujesz skopiować i przywrócić z dysku CD-ROM, określ parametr BLOCKSIZE=2048.
Nuta
Ta opcja zwykle wpływa na wydajność tylko podczas zapisywania na urządzeniach taśmowych.
Opcje transferu danych
BUFFERCOUNT = { buffercount | @buffercount_variable }
Określa łączną liczbę we/wy, które mają być używane na potrzeby operacji tworzenia kopii zapasowej. Można określić dowolną dodatnią liczbę całkowitą; jednak duża liczba może powodować błędy "braku pamięci" z powodu niewystarczającej wirtualnej przestrzeni adresowej w procesie Sqlservr.exe.
Łączna ilość miejsca używanego przez jest określana przez: BUFFERCOUNT * MAXTRANSFERSIZE
.
Nuta
Aby uzyskać ważne informacje na temat korzystania z opcji BUFFERCOUNT
, zobacz Opcji niepoprawnego transferu danych BufferCount może prowadzić do stanu OOM blogu.
MAXTRANSFERSIZE = { maxtransfersize | @ maxtransfersize_variable }
Określa największą jednostkę transferu w bajtach, która ma być używana między programem SQL Server i nośnikem kopii zapasowej. Możliwe wartości to wielokrotności 65536 bajtów (64 KB) w zakresie do 4194304 bajtów (4 MB). W konkretnym przypadku tworzenia kopii zapasowej do adresu URL do magazynu obiektów zgodnego z usługą S3 MAXTRANSFERSIZE
wynosi 10 MB. Aby uzyskać więcej informacji, zobacz Uwagi.
Jeśli podczas tworzenia kopii zapasowych przy użyciu usługi zapisywania SQL baza danych skonfigurowała fileSTREAMlub zawiera grupy plików zoptymalizowane pod kątem pamięci, MAXTRANSFERSIZE
w czasie przywracania powinna być większa lub równa MAXTRANSFERSIZE
, która została użyta podczas tworzenia kopii zapasowej.
W przypadku przezroczystego szyfrowania danych (TDE) z włączonym pojedynczym plikiem danych domyślnym MAXTRANSFERSIZE
jest 65536 (64 KB). W przypadku nieszyfrowanych baz danych TDE domyślny MAXTRANSFERSIZE
jest 1048576 (1 MB) podczas korzystania z kopii zapasowej na dysku i 65536 (64 KB) podczas korzystania z szyfrowania VDI lub TAŚMy. Aby uzyskać więcej informacji na temat korzystania z kompresji kopii zapasowej z zaszyfrowanymi bazami danych TDE, zobacz sekcję Uwagi.
Opcje zarządzania błędami
Te opcje umożliwiają określenie, czy sumy kontrolne kopii zapasowej są włączone dla operacji tworzenia kopii zapasowej i czy operacja zatrzymuje się na napotkaniu błędu.
{ NO_CHECKSUM | SUMA KONTROLNA }
Określa, czy są włączone sumy kontrolne kopii zapasowej.
NO_CHECKSUM
Jawnie wyłącza generowanie sum kontrolnych kopii zapasowych (oraz walidację sum kontrolnych stron). Jest to zachowanie domyślne.
SUMA KONTROLNA
Określa, że operacja tworzenia kopii zapasowej weryfikuje każdą stronę pod kątem sumy kontrolnej i rozdartej strony, jeśli jest włączona i dostępna, i generuje sumę kontrolną dla całej kopii zapasowej.
Użycie sum kontrolnych kopii zapasowych może mieć wpływ na przepływność obciążeń i kopii zapasowych.
Aby uzyskać więcej informacji, zobacz Możliwe błędy multimediów podczas tworzenia kopii zapasowej i przywracania.
{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
Określa, czy operacja tworzenia kopii zapasowej zatrzymuje się, czy kontynuuje po wystąpieniu błędu sumy kontrolnej strony.
STOP_ON_ERROR
Instruuje, aby kopia zapasowa nie powiodła się, jeśli suma kontrolna strony nie zostanie zweryfikowana. Jest to zachowanie domyślne.
CONTINUE_AFTER_ERROR
Instruuje tworzenie kopii zapasowej, aby kontynuować pomimo napotkania błędów, takich jak nieprawidłowe sumy kontrolne lub rozdarte strony.
Jeśli nie możesz utworzyć kopii zapasowej dziennika przy użyciu opcji NO_TRUNCATE, gdy baza danych jest uszkodzona, możesz podjąć próbę utworzenia kopii zapasowej dziennika tail-log, określając CONTINUE_AFTER_ERROR zamiast NO_TRUNCATE.
Aby uzyskać więcej informacji, zobacz Możliwe błędy multimediów podczas tworzenia kopii zapasowej i przywracania.
Opcje zgodności
RESTART
Począwszy od programu SQL Server 2008 (10.0.x), nie ma żadnego wpływu. Ta opcja jest akceptowana przez wersję w celu zachowania zgodności z poprzednimi wersjami programu SQL Server.
Opcje monitorowania
STATS [ = procent ]
Wyświetla komunikat za każdym razem, gdy procent zostanie ukończony i służy do pomiaru postępu. Jeśli procent zostanie pominięty, program SQL Server wyświetli komunikat po zakończeniu każdego 10 procent.
Opcja STATS zgłasza procent ukończenia od progu raportowania następnego interwału. Jest to w przybliżeniu określona wartość procentowa; na przykład z stats=10, jeśli kwota ukończona wynosi 40 procent, opcja może wyświetlić 43 procent. W przypadku dużych zestawów kopii zapasowych nie jest to problem, ponieważ procent wykonania jest bardzo powolny między ukończonych wywołań we/wy.
Opcje taśmy
Te opcje są używane tylko dla urządzeń TAŚMy. Jeśli urządzenie nietape jest używane, te opcje są ignorowane.
{ REWIND | NOREWIND }
PRZEWIŃ
Określa, że program SQL Server zwalnia i przewija taśmę. Wartość domyślna to REWIND.
NOREWIND
Określa, że program SQL Server zachowa otwartą taśmę po operacji tworzenia kopii zapasowej. Tej opcji można użyć, aby zwiększyć wydajność podczas wykonywania wielu operacji tworzenia kopii zapasowych na taśmie.
NOREWIND oznacza NOUNLOAD, a te opcje są niezgodne w ramach pojedynczej instrukcji BACKUP.
Nuta
Jeśli używasz NOREWIND
, wystąpienie programu SQL Server zachowuje własność stacji taśm do momentu zamknięcia instrukcji BACKUP lub RESTORE działającej w tym samym procesie przy użyciu opcji REWIND
lub UNLOAD
albo wystąpienia serwera. Otwieranie taśmy uniemożliwia innym procesom uzyskiwanie dostępu do taśmy. Aby uzyskać informacje na temat wyświetlania listy otwartych taśm i zamykania otwartej taśmy, zobacz Backup Devices.
{ UNLOAD | NOUNLOAD }
Nuta
UNLOAD
i NOUNLOAD
to ustawienia sesji, które utrzymują się przez okres życia sesji lub dopóki nie zostaną zresetowane przez określenie alternatywy.
WYŁADOWAĆ
Określa, że taśma jest automatycznie przywracana i zwalniana po zakończeniu tworzenia kopii zapasowej. Zwalnianie jest ustawieniem domyślnym po rozpoczęciu sesji.
NOUNLOAD
Określa, że po operacji BACKUP taśma pozostaje załadowana na stacji taśmy.
Nuta
W przypadku kopii zapasowej na urządzeniu kopii zapasowej na taśmie opcja BLOCKSIZE
wpływać na wydajność operacji tworzenia kopii zapasowej. Ta opcja zwykle wpływa na wydajność tylko podczas zapisywania na urządzeniach taśmowych.
Opcje specyficzne dla dziennika
Te opcje są używane tylko z BACKUP LOG
.
Nuta
Jeśli nie chcesz tworzyć kopii zapasowych dzienników, użyj prostego modelu odzyskiwania. Aby uzyskać więcej informacji, zobacz Modele odzyskiwania.
{ NORECOVERY | STANDBY = undo_file_name }
NORECOVERY
Wykonuje kopię zapasową końca dziennika i opuszcza bazę danych w stanie PRZYWRACANIA. FUNKCJA NORECOVERY jest przydatna podczas przechodzenia w tryb failover do pomocniczej bazy danych lub zapisywania końca dziennika przed operacją RESTORE.
Aby wykonać kopię zapasową dziennika, która pomija obcięcie dziennika, a następnie przejmie bazę danych w stan PRZYWRACANIA niepodziealnie, użyj opcji NO_TRUNCATE
i NORECOVERY
razem.
=
standby_file_name REZERWOWE
Wykonuje kopię zapasową końca dziennika i pozostawia bazę danych w stanie tylko do odczytu i stanu WSTRZYMANIA. Klauzula STANDBY zapisuje dane rezerwowe (wykonywanie wycofywania, ale z opcją dalszych przywracania). Użycie opcji STANDBY jest równoważne DZIENNIKOWI KOPII ZAPASOWEJ BEZODZYSKIWANIA, po którym następuje PRZYWRACANIE Z WSTRZYMANIEM.
Korzystanie z trybu wstrzymania wymaga pliku rezerwowego określonego przez standby_file_name, którego lokalizacja jest przechowywana w dzienniku bazy danych. Jeśli określony plik już istnieje, aparat bazy danych zastępuje go; Jeśli plik nie istnieje, aparat bazy danych go utworzy. Plik rezerwowy staje się częścią bazy danych.
Ten plik zawiera wycofane zmiany, które należy cofnąć, jeśli operacje RESTORE LOG mają być następnie stosowane. Aby plik rezerwowy mógł rosnąć, musi być wystarczająca ilość miejsca na dysku, aby zawierała wszystkie odrębne strony z bazy danych, które zostały zmodyfikowane przez wycofywanie niezatwierdzonych transakcji.
NO_TRUNCATE
Określa, że dziennik transakcji nie powinien być obcięty i powoduje, że aparat bazy danych próbuje wykonać kopię zapasową niezależnie od stanu bazy danych. W związku z tym tworzenie kopii zapasowej wykonanej z NO_TRUNCATE
może mieć niekompletne metadane. Ta opcja umożliwia tworzenie kopii zapasowej dziennika transakcji w sytuacjach, w których baza danych jest uszkodzona.
Opcja NO_TRUNCATE DZIENNIKA KOPII ZAPASOWEJ jest równoważna określeniu zarówno COPY_ONLY, jak i CONTINUE_AFTER_ERROR.
Bez opcji NO_TRUNCATE
baza danych musi być w stanie ONLINE. Jeśli baza danych jest w stanie ZAWIESZONE, możesz utworzyć kopię zapasową, określając NO_TRUNCATE
. Jeśli jednak baza danych jest w stanie OFFLINE lub AWARYJNYm, kopia zapasowa nie jest dozwolona nawet w przypadku NO_TRUNCATE
. Aby uzyskać informacje o stanach bazy danych, zobacz Database States.
Informacje o pracy z kopiami zapasowymi programu SQL Server
W tej sekcji przedstawiono następujące podstawowe pojęcia dotyczące tworzenia kopii zapasowych:
typy kopii zapasowychdziennika transakcji obcięcieformatowania nośnika kopii zapasowejpraca z urządzeniami kopii zapasowych i zestawami multimediówprzywracanie kopii zapasowych programu SQL Server
Nuta
Aby zapoznać się z wprowadzeniem do tworzenia kopii zapasowych w programie SQL Server, zobacz omówienie usługi Backup.
Typy kopii zapasowych
Obsługiwane typy kopii zapasowych zależą od modelu odzyskiwania bazy danych w następujący sposób
Wszystkie modele odzyskiwania obsługują pełne i różnicowe kopie zapasowe danych.
Zakres kopii zapasowej Typy kopii zapasowych Cała baza danych kopie zapasowe bazy danych obejmują całą bazę danych.
Opcjonalnie każda kopia zapasowa bazy danych może służyć jako podstawa serii co najmniej jednej różnicowych kopii zapasowych bazy danych.Częściowa baza danych częściowe kopie zapasowe obejmują grupy plików do odczytu/zapisu i, być może, co najmniej jeden plik lub grupy plików tylko do odczytu.
Opcjonalnie każda częściowa kopia zapasowa może służyć jako podstawa serii co najmniej jednej różnicowych częściowych kopii zapasowych.Plik lub grupa plików kopie zapasowe plików obejmują co najmniej jeden plik lub grupy plików i są istotne tylko dla baz danych zawierających wiele grup plików. W ramach prostego modelu odzyskiwania kopie zapasowe plików są zasadniczo ograniczone do pomocniczych grup plików tylko do odczytu.
Opcjonalnie każda kopia zapasowa plików może służyć jako podstawa serii co najmniej jednej różnicowych kopii zapasowych plików.W modelu pełnego odzyskiwania lub modelu odzyskiwania rejestrowanego zbiorczo konwencjonalne kopie zapasowe obejmują również kopie zapasowe sekwencyjne dziennika transakcji (lub kopie zapasowe dziennika ), które są wymagane. Każda kopia zapasowa dziennika obejmuje część dziennika transakcji, która była aktywna podczas tworzenia kopii zapasowej, i zawiera wszystkie rekordy dziennika, których kopia zapasowa nie została utworzona w poprzedniej kopii zapasowej dziennika.
Aby zminimalizować narażenie na utratę pracy, należy zaplanować częste tworzenie kopii zapasowych dzienników przy kosztach administracyjnych. Planowanie różnicowych kopii zapasowych między pełnymi kopiami zapasowymi może skrócić czas przywracania, zmniejszając liczbę kopii zapasowych dziennika, które należy przywrócić po przywróceniu danych.
Zalecamy umieszczenie kopii zapasowych dziennika na oddzielnym woluminie niż kopie zapasowe bazy danych.
Nuta
Przed utworzeniem pierwszej kopii zapasowej dziennika należy utworzyć pełną kopię zapasową.
kopii zapasowej tylko do kopiowania to specjalna pełna kopia zapasowa lub kopia zapasowa dziennika, która jest niezależna od normalnej sekwencji konwencjonalnych kopii zapasowych. Aby utworzyć kopię zapasową tylko do kopiowania, określ opcję COPY_ONLY w instrukcji BACKUP. Aby uzyskać więcej informacji, zobacz Copy-Only Backups.
Obcinanie dziennika transakcji
Aby uniknąć wypełniania dziennika transakcji bazy danych, niezbędne są rutynowe kopie zapasowe. W ramach prostego modelu odzyskiwania obcinanie dziennika odbywa się automatycznie po utworzeniu kopii zapasowej bazy danych i w ramach pełnego modelu odzyskiwania po utworzeniu kopii zapasowej dziennika transakcji. Jednak czasami proces obcinania może być opóźniony. Aby uzyskać informacje o czynnikach, które mogą opóźnić obcinanie dziennika, zobacz Dziennik transakcji.
Nuta
Opcje BACKUP LOG WITH NO_LOG
i WITH TRUNCATE_ONLY
zostały wycofane. Jeśli używasz pełnego lub zbiorczego odzyskiwania modelu odzyskiwania i musisz usunąć łańcuch kopii zapasowych dzienników z bazy danych, przejdź do prostego modelu odzyskiwania. Aby uzyskać więcej informacji, zobacz
Formatowanie nośnika kopii zapasowej
Nośnik kopii zapasowej jest sformatowany przez instrukcję BACKUP, jeśli i tylko wtedy, gdy którakolwiek z następujących wartości jest prawdziwa:
- Określono opcję
FORMAT
. - Nośnik jest pusty.
- Operacja zapisuje taśmę kontynuacji.
Praca z urządzeniami kopii zapasowych i zestawami multimediów
Tworzenie kopii zapasowych urządzeń w zestawie nośników pasiastych (zestaw paska)
Zestaw pasków to zestaw plików dyskowych, na których dane są podzielone na bloki i dystrybuowane w stałej kolejności. Liczba urządzeń kopii zapasowych używanych w zestawie paska musi pozostać taka sama (chyba że nośnik zostanie ponownie zainicjowany przy użyciu FORMAT
).
Poniższy przykład zapisuje kopię zapasową bazy danych AdventureWorks2022
w nowym zestawie nośników rozłożonych, który używa trzech plików dyskowych.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3.bak'
WITH FORMAT,
MEDIANAME = 'AdventureWorksStripedSet0',
MEDIADESCRIPTION = 'Striped media set for AdventureWorks2022 database';
GO
Po zdefiniowaniu urządzenia kopii zapasowej w ramach zestawu stripe nie można go używać do tworzenia kopii zapasowej pojedynczego urządzenia, chyba że określono format. Podobnie nie można używać urządzenia kopii zapasowej zawierającego niewysytrygowane kopie zapasowe w zestawie stripe, chyba że określono format. Aby podzielić zestaw kopii zapasowych rozłożonych, użyj formatu.
Jeśli podczas zapisywania nagłówka nośnika nie określono wartości MEDIANAME ani MEDIADESCRIPTION, pole nagłówka nośnika odpowiadające pustemu elementowi jest puste.
Praca z zestawem multimediów dublowanych
Zazwyczaj kopie zapasowe są niesmirrored, a instrukcje BACKUP po prostu zawierają klauzulę TO. Jednak łączna liczba czterech dublowania jest możliwa dla każdego zestawu multimediów. W przypadku zestawu zdublowanych multimediów operacja tworzenia kopii zapasowej jest zapisywana w wielu grupach urządzeń kopii zapasowych. Każda grupa urządzeń kopii zapasowych składa się z pojedynczego dublowania w zestawie zdublowanych multimediów. Każde dublowanie musi używać tej samej ilości i typu fizycznych urządzeń kopii zapasowych, które muszą mieć te same właściwości.
Aby utworzyć kopię zapasową zestawu zdublowanych multimediów, wszystkie lustra muszą być obecne. Aby utworzyć kopię zapasową zestawu dublowanych multimediów, określ klauzulę TO
w celu określenia pierwszego dublowania i określ klauzulę MIRROR TO
dla każdego dodatkowego dublowania.
W przypadku zestawu multimediów dublowanych każda klauzula MIRROR TO
musi zawierać tę samą liczbę i typ urządzeń co klauzula TO. Poniższy przykład zapisuje w zestawie dublowanych multimediów, który zawiera dwa dublowania i używa trzech urządzeń na dublowanie:
BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1a.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2a.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3a.bak'
MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks1b.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2b.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3b.bak';
GO
Ważny
Ten przykład został zaprojektowany tak, aby umożliwić testowanie go w systemie lokalnym. W praktyce tworzenie kopii zapasowej na wielu urządzeniach na tym samym dysku zaszkodziłoby wydajności i wyeliminowałoby nadmiarowość, dla której zaprojektowano dublowane zestawy multimediów.
Rodziny mediów w dublowanych zestawach medialnych
Każde urządzenie kopii zapasowej określone w klauzuli TO
instrukcji BACKUP odpowiada rodzinie multimediów. Jeśli na przykład klauzula TO
zawiera listę trzech urządzeń, usługa BACKUP zapisuje dane w trzech rodzinach multimediów. W zestawie multimediów dublowanych każde dublowanie musi zawierać kopię każdej rodziny multimediów. Dlatego liczba urządzeń musi być identyczna w każdym lustrze.
Gdy dla każdego dublowania jest wyświetlanych wiele urządzeń, kolejność urządzeń określa, która rodzina multimediów jest zapisywana na określonym urządzeniu. Na przykład na każdej liście urządzeń drugie urządzenie odpowiada drugiej rodzinie multimediów. W przypadku urządzeń w powyższym przykładzie korespondencja między urządzeniami i rodzinami multimediów jest pokazana w poniższej tabeli.
Lustro | Rodzina mediów 1 | Rodzina mediów 2 | Rodzina mediów 3 |
---|---|---|---|
0 | Z:\AdventureWorks1a.bak |
Z:\AdventureWorks2a.bak |
Z:\AdventureWorks3a.bak |
1 | Z:\AdventureWorks1b.bak |
Z:\AdventureWorks2b.bak |
Z:\AdventureWorks3b.bak |
Rodzina multimediów musi zawsze być tworzona na tym samym urządzeniu w ramach określonego dublowania. W związku z tym za każdym razem, gdy używasz istniejącego zestawu multimediów, wyświetl listę urządzeń każdego dublowania w tej samej kolejności, co zostały określone podczas tworzenia zestawu multimediów.
Aby uzyskać więcej informacji na temat dublowanych zestawów multimediów, zobacz dublowane zestawy nośników kopii zapasowych. Aby uzyskać więcej informacji na temat zestawów multimediów i rodzin mediów, zobacz Zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych.
Przywracanie kopii zapasowych programu SQL Server
Aby przywrócić bazę danych i opcjonalnie odzyskać ją w trybie online lub przywrócić plik lub grupę plików, użyj instrukcji Transact-SQL
Dodatkowe zagadnienia dotyczące opcji kopii zapasowej
Interakcja funkcji SKIP, NOSKIP, INIT i NOINIT
W tej tabeli opisano interakcje między { NOINIT | INIT } i { NOSKIP | SKIP } opcje.
Nuta
Jeśli nośnik taśmy jest pusty lub plik kopii zapasowej dysku nie istnieje, wszystkie te interakcje zapisują nagłówek nośnika i kontynuują. Jeśli nośnik nie jest pusty i nie ma prawidłowego nagłówka nośnika, te operacje dają opinię informującą, że nie jest to prawidłowy nośnik MTF i kończą operację tworzenia kopii zapasowej.
Opcja Pomiń | NOINIT | INIT |
---|---|---|
NOSKIP | Jeśli wolumin zawiera prawidłowy nagłówek nośnika, sprawdza, czy nazwa nośnika jest zgodna z podanym MEDIANAME , jeśli istnieje. Jeśli jest on zgodny, dołącza zestaw kopii zapasowych, zachowując wszystkie istniejące zestawy kopii zapasowych.Jeśli wolumin nie zawiera prawidłowego nagłówka nośnika, wystąpi błąd. |
Jeśli wolumin zawiera prawidłowy nagłówek nośnika, przeprowadza następujące kontrole:
Jeśli te testy przejdą, zastępuje wszystkie zestawy kopii zapasowych na nośniku, zachowując tylko nagłówek nośnika. Jeśli wolumin nie zawiera prawidłowego nagłówka multimediów, generuje go przy użyciu określonej MEDIANAME i MEDIADESCRIPTION , jeśli istnieje. |
POMINĄĆ | Jeśli wolumin zawiera prawidłowy nagłówek nośnika, dołącza zestaw kopii zapasowych, zachowując wszystkie istniejące zestawy kopii zapasowych. | Jeśli wolumin zawiera prawidłowy nagłówek nośnika2, zastępuje wszystkie zestawy kopii zapasowych na nośniku, zachowując tylko nagłówek nośnika. Jeśli nośnik jest pusty, generuje nagłówek multimediów przy użyciu określonej MEDIANAME i MEDIADESCRIPTION , jeśli istnieje. |
1 Użytkownik musi należeć do odpowiednich stałych ról bazy danych lub serwera w celu wykonania operacji tworzenia kopii zapasowej.
2 Ważność zawiera numer wersji mtF i inne informacje nagłówka. Jeśli określona wersja jest nieobsługiwana lub nieoczekiwana wartość, wystąpi błąd.
Zgodność
Ostrożność
Nie można przywrócić kopii zapasowych utworzonych przez najnowszą wersję programu SQL Server we wcześniejszych wersjach programu SQL Server.
BACKUP
obsługuje opcję RESTART
, aby zapewnić zgodność z poprzednimi wersjami programu SQL Server. Ale RESTART nie ma wpływu.
Uwagi
Kopie zapasowe bazy danych lub dziennika mogą być dołączane do dowolnego dysku lub urządzenia taśmowego, dzięki czemu baza danych i dzienniki transakcji mogą być przechowywane w jednej lokalizacji fizycznej.
Instrukcja BACKUP nie jest dozwolona w jawnej lub niejawnej transakcji.
Nie można utworzyć kopii zapasowej bazy danych w następujących stanach:
- Przywracanie
- Gotowo¶ci
- Tylko do odczytu
Operacje tworzenia kopii zapasowych międzyplatformowych, nawet między różnymi typami procesorów, mogą być wykonywane tak długo, jak sortowanie bazy danych jest obsługiwane przez system operacyjny.
Począwszy od programu SQL Server 2016 (13.x), ustawienie MAXTRANSFERSIZE
większe niż 65536 (64 KB) umożliwia zoptymalizowany algorytm kompresji dla funkcji Transparent Data Encryption (TDE) zaszyfrowanych baz danych, które najpierw odszyfrują stronę, kompresują ją, a następnie szyfrują ją ponownie. Jeśli nie określono MAXTRANSFERSIZE
lub jeśli jest używana MAXTRANSFERSIZE = 65536
(64 KB), kompresja kopii zapasowych z zaszyfrowanymi bazami danych TDE bezpośrednio kompresuje zaszyfrowane strony i może nie przynieść dobrych współczynników kompresji. Aby uzyskać więcej informacji, zobacz Kompresja kopii zapasowych dla baz danych z obsługą technologii TDE.
Począwszy od programu SQL Server 2019 (15.x) CU5, ustawienie MAXTRANSFERSIZE
nie jest już wymagane do włączenia tego zoptymalizowanego algorytmu kompresji za pomocą funkcji TDE. Jeśli zostanie określone polecenie kopii zapasowej WITH COMPRESSION
lub domyślna kompresja kopii zapasowej jest ustawiona na 1, MAXTRANSFERSIZE
zostanie automatycznie zwiększona do 128 K w celu włączenia zoptymalizowanego algorytmu. Jeśli MAXTRANSFERSIZE
jest określona w poleceniu kopii zapasowej z wartością > 64 K, podana wartość jest honorowana. Innymi słowy, program SQL Server nigdy nie zmniejsza wartości automatycznie, tylko zwiększa ją. Jeśli musisz utworzyć kopię zapasową zaszyfrowanej bazy danych TDE przy użyciu
Nuta
Istnieje kilka przypadków, w których domyślna MAXTRANSFERSIZE
jest większa niż 64K:
- Gdy baza danych ma wiele utworzonych plików danych, używa
MAXTRANSFERSIZE
> 64K. - Podczas wykonywania kopii zapasowej pod adresem URL usługi Azure Blob Storage domyślna
MAXTRANSFERSIZE = 1048576
(1 MB). - Podczas tworzenia kopii zapasowej pod adresem URL do magazynu obiektów zgodnego z usługą S3 domyślny
MAXTRANSFERSIZE = 10485760
(10 MB).
Nawet jeśli jeden z tych warunków ma zastosowanie, musisz jawnie ustawić MAXTRANSFERSIZE
więcej niż 64K w poleceniu kopii zapasowej, aby uzyskać zoptymalizowany algorytm kompresji kopii zapasowej, chyba że korzystasz z programu SQL Server 2019 (15.x) CU5 lub nowszego.
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 kopię zapasową dziennika jest bardzo często, te komunikaty o powodzeniu gromadzą się szybko, co powoduje duże 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 żadna z automatyzacji lub monitorowania nie zależy od tych wpisów. Aby uzyskać więcej informacji, zobacz Trace Flags.
Współdziałanie
Program SQL Server używa procesu tworzenia kopii zapasowej online, aby umożliwić tworzenie kopii zapasowej bazy danych, gdy baza danych jest nadal używana. Podczas tworzenia kopii zapasowej większość operacji jest możliwa; na przykład instrukcje INSERT, UPDATE lub DELETE są dozwolone podczas operacji tworzenia kopii zapasowej.
Operacje, które nie mogą być uruchamiane podczas tworzenia kopii zapasowej dziennika transakcji lub bazy danych, obejmują:
Operacje zarządzania plikami, takie jak instrukcja
ALTER DATABASE
z opcjamiADD FILE
lubREMOVE FILE
.Zmniejsz bazę danych lub zmniejsz operacje na plikach. Obejmuje to operacje automatycznego hrinku.
Jeśli operacja tworzenia kopii zapasowej nakłada się na zarządzanie plikami lub DBCC SHRINK
operacji, wystąpi konflikt. Niezależnie od tego, która operacja powodująca konflikt rozpoczęła się jako pierwsza, druga operacja czeka na ustawienie limitu czasu dla blokady ustawionej przez pierwszą operację (limit czasu jest kontrolowany przez ustawienie limitu czasu sesji). Jeśli blokada zostanie zwolniona w okresie przekroczenia limitu czasu, druga operacja będzie kontynuowana. Jeśli limit czasu blokady upłynął, druga operacja zakończy się niepowodzeniem.
Metadane
Program SQL Server zawiera następujące tabele historii kopii zapasowych, które śledzą aktywność tworzenia kopii zapasowych:
- pliku kopii zapasowej
- backupfilegroup
- backupmediafamily
- backupmediaset
- zestaw kopii zapasowych
Jeśli zestaw kopii zapasowych nie został jeszcze zarejestrowany w bazie danych msdb
, tabele historii kopii zapasowych mogą zostać zmodyfikowane.
Bezpieczeństwo
Począwszy od programu SQL Server 2012 (11.x), opcje PASSWORD
i MEDIAPASSWORD
nie są tworzone. Nadal istnieje możliwość przywrócenia kopii zapasowych utworzonych przy użyciu haseł.
Uprawnienia
BACKUP DATABASE
i uprawnienia BACKUP LOG
domyślne dla członków sysadmin stałej roli serwera oraz db_owner i db_backupoperator stałych ról bazy danych.
Problemy z własnością i uprawnieniami w pliku fizycznym urządzenia kopii zapasowej mogą zakłócać operację tworzenia kopii zapasowej. Upewnij się, że konto uruchamiania programu SQL Server musi mieć uprawnienia do odczytu i zapisu na urządzeniu kopii zapasowej oraz w folderze, w którym są zapisywane pliki kopii zapasowej. 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 zasób fizyczny nie zostanie wyświetlony po podjęciu próby utworzenia kopii zapasowej lub przywrócenia.
Przykłady
Ta sekcja zawiera następujące przykłady:
- A. tworzenie kopii zapasowej kompletnej bazy danych
- B. tworzenie kopii zapasowej bazy danych i dziennika
- C. Tworzenie pełnej kopii zapasowej plików pomocniczych grup plików
- D. Tworzenie różnicowej kopii zapasowej plików pomocniczych grup plików
- E. Tworzenie i tworzenie kopii zapasowych na nośnikach dublowanych z jedną rodziną
- F. utwórz i utwórz kopię zapasową do wieloznacznie dublowanego nośnika ustawionego
- G. tworzenie kopii zapasowej istniejącego dublowanego nośnika ustawionego
- H. Utwórz skompresowaną kopię zapasową w nowym zestawie multimediów
- Ja. tworzenie kopii zapasowej w usłudze Azure Blob Storage
- J. [Tworzenie kopii zapasowej magazynu obiektów zgodnego z usługą S3]((#j-backing-up-to-s3-compatible-object-storage)
- K. Śledzenie postępu instrukcji tworzenia kopii zapasowej
Nuta
Tematy z instrukcjami dotyczącymi tworzenia kopii zapasowej zawierają dodatkowe przykłady. Aby uzyskać więcej informacji, zobacz Backup Overview.
A. Tworzenie kopii zapasowej pełnej bazy danych
Poniższy przykład wykonuje kopię zapasową bazy danych AdventureWorks2022
do pliku dysku.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH FORMAT;
GO
B. Tworzenie kopii zapasowej bazy danych i dziennika
Poniższy przykład wykonuje kopie zapasowe przykładowej bazy danych AdventureWorks2022
, która domyślnie używa prostego modelu odzyskiwania. Aby obsługiwać kopie zapasowe dzienników, baza danych AdventureWorks2022
jest modyfikowana tak, aby korzystała z pełnego modelu odzyskiwania.
Następnie w przykładzie użyto sp_addumpdevice do utworzenia urządzenia kopii zapasowej logicznego na potrzeby tworzenia kopii zapasowych danych, AdvWorksData
i tworzy inne logiczne urządzenie do tworzenia kopii zapasowej dziennika, AdvWorksLog
.
W tym przykładzie tworzona jest pełna kopia zapasowa bazy danych w celu AdvWorksData
, a po okresie działania aktualizacji tworzy kopię zapasową dziennika w celu AdvWorksLog
.
-- To permit log backups, before the full database backup, modify the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE AdventureWorks2022
SET RECOVERY FULL;
GO
-- Create AdvWorksData and AdvWorksLog logical backup devices.
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'Z:\SQLServerBackups\AdvWorksData.bak';
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksLog',
'X:\SQLServerBackups\AdvWorksLog.bak';
GO
-- Back up the full AdventureWorks2022 database.
BACKUP DATABASE AdventureWorks2022 TO AdvWorksData;
GO
-- Back up the AdventureWorks2022 log.
BACKUP LOG AdventureWorks2022
TO AdvWorksLog;
GO
Nuta
W przypadku produkcyjnej bazy danych należy regularnie tworzyć kopie zapasowe dziennika. Kopie zapasowe dzienników powinny być wystarczająco częste, aby zapewnić wystarczającą ochronę przed utratą danych.
C. 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 = 'Z:\SQLServerBackups\SalesFiles.bck';
GO
D. 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 = 'Z:\SQLServerBackups\SalesFiles.bck'
WITH
DIFFERENTIAL;
GO
E. Tworzenie i tworzenie kopii zapasowych w zestawie multimediów dublowanych z jedną rodziną
W poniższym przykładzie tworzony jest zestaw zdublowanych multimediów zawierający jedną rodzinę multimediów oraz cztery dublowanie i tworzenie kopii zapasowych bazy danych AdventureWorks2022
do nich.
BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH
FORMAT,
MEDIANAME = 'AdventureWorksSet0';
F. Tworzenie i tworzenie kopii zapasowych w zestawie multimediów dublowanych wieloznacznie
Poniższy przykład tworzy dublowany zestaw multimediów, w którym każde dublowanie składa się z dwóch rodzin multimediów. Następnie przykład wykonuje kopię zapasową bazy danych AdventureWorks2022
w obu dublowaniach.
BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
FORMAT,
MEDIANAME = 'AdventureWorksSet1';
G. Tworzenie kopii zapasowej istniejącego dublowanego zestawu multimediów
Poniższy przykład dołącza zestaw kopii zapasowych do zestawu multimediów utworzonego w poprzednim przykładzie.
BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
NOINIT,
MEDIANAME = 'AdventureWorksSet1';
Nuta
Funkcja NOINIT, która jest wartością domyślną, jest wyświetlana tutaj, aby uzyskać jasność.
H. Tworzenie skompresowanej kopii zapasowej w nowym zestawie multimediów
Poniższy przykład formatuje nośnik, tworzy nowy zestaw multimediów i wykonuje skompresowaną pełną kopię zapasową bazy danych AdventureWorks2022
.
BACKUP DATABASE AdventureWorks2022 TO DISK='Z:\SQLServerBackups\AdvWorksData.bak'
WITH
FORMAT,
COMPRESSION;
Ja. Tworzenie kopii zapasowej w usłudze Microsoft Azure Blob Storage
W tym przykładzie wykonywana jest pełna kopia zapasowa bazy danych Sales
w usłudze Azure Blob Storage. Nazwa konta magazynu to mystorageaccount
. Kontener jest nazywany myfirstcontainer
. Zapisane zasady dostępu zostały już utworzone z prawami do odczytu, zapisu, usuwania i listy. Poświadczenie programu SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer
, zostało utworzone przy użyciu sygnatury dostępu współdzielonego skojarzonej z zapisanymi zasadami dostępu. Aby uzyskać informacje na temat tworzenia kopii zapasowej programu SQL Server w usłudze Azure Blob Storage, zobacz tworzenie kopii zapasowych i przywracanie programu SQL Server przy użyciu usługi Azure Blob Storage i tworzenie kopii zapasowej programu SQL Server pod adresem URL.
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales.bak'
WITH STATS = 5;
Możesz również utworzyć kopię zapasową bazy danych w wielu paskach i wyglądać następująco:
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;
J. Tworzenie kopii zapasowej magazynu obiektów zgodnego z programem S3
Dotyczy: programu SQL Server 2022 (16.x)
W tym przykładzie jest wykonywana pełna kopia zapasowa bazy danych Sales
z platformą magazynu obiektów zgodną z usługą S3. Nazwa poświadczenia nie jest wymagana w instrukcji lub do dopasowania dokładnej ścieżki adresu URL, ale wykona wyszukiwanie odpowiedniego poświadczenia w podanym adresie URL. Aby uzyskać więcej informacji, zobacz tworzenie kopii zapasowej i przywracanie programu SQL Server przy użyciu magazynu obiektów zgodnego z programem S3.
BACKUP DATABASE Sales
TO URL = 's3://10.10.10.10:8787/sqls3backups/sales_01.bak'
, URL = 's3://10.10.10.10:8787/sqls3backups/sales_02.bak'
, URL = 's3://10.10.10.10:8787/sqls3backups/sales_03.bak'
WITH FORMAT
, STATS = 10
, COMPRESSION;
K. Śledzenie postępu instrukcji tworzenia kopii zapasowej
Następujące zapytanie zwraca informacje o aktualnie uruchomionych instrukcjach kopii zapasowej:
SELECT query = a.text, start_time, percent_complete,
eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command LIKE 'BACKUP%';
Powiązana zawartość
- urządzenia kopii zapasowych
- zestawy multimediów , rodziny multimediów i zestawy kopii zapasowych
- Tail-Log kopii zapasowych
- ALTER DATABASE
-
DBCC SQLPERF -
RESTORE - RESTORE FILELISTONLY
- RESTORE HEADERONLY
- RESTORE LABELONLY
- RESTORE VERIFYONLY
- sp_addumpdevice
- sp_configure
- sp_helpfile
- sp_helpfilegroup
- Opcje konfiguracji serwera
- przywracanie częściowe baz danych przy użyciu tabel Memory-Optimized
* SQL Managed Instance *
Azure SQL Managed Instance
Wykonuje kopię zapasową bazy danych SQL w usłudze Azure SQL Managed Instance.
usługa Azure SQL Managed Instance ma automatyczne kopie zapasowe. Możesz utworzyć pełną bazę danych COPY_ONLY
kopii zapasowych. Różnicowe, dzienniki i kopie zapasowe migawek plików nie są obsługiwane.
Dotyczy również usługi SQL Managed Instance włączonej przez usługę Azure Arc.
Składnia
BACKUP DATABASE { database_name | @database_name_var }
TO URL = { 'physical_device_name' | @physical_device_name_var }[ ,...n ]
WITH COPY_ONLY [, { <general_WITH_options> } ]
[;]
<general_WITH_options> [ ,...n ]::=
--Media Set Options
MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ = percentage ]
--Encryption Options
ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name
Argumenty
BAZA DANYCH
Określa pełną kopię zapasową bazy danych. Podczas tworzenia kopii zapasowej bazy danych usługa Azure SQL Managed Instance tworzy kopię zapasową wystarczającej ilości dziennika transakcji, aby utworzyć spójną bazę danych po przywróceniu kopii zapasowej.
Ważny
Kopia zapasowa bazy danych utworzona na wystąpieniu zarządzanym może zostać przywrócona tylko w innym wystąpieniu usługi Azure SQL Managed Instance lub tylko w wystąpieniu programu SQL Server 2022. Dzieje się tak, ponieważ usługa SQL Managed Instance ma wyższą wewnętrzną wersję bazy danych w porównaniu z innymi wersjami programu SQL Server. Aby uzyskać więcej informacji, zobacz Przywracanie kopii zapasowej bazy danych usługi SQL Managed Instance do programu SQL Server 2022.
Po przywróceniu kopii zapasowej utworzonej przez bazę danych kopii zapasowej (kopii zapasowej) cała kopia zapasowa zostanie przywrócona. Aby przywrócić z automatycznych kopii zapasowych usługi SQL Managed Instance, zobacz Przywracanie bazy danych do usługi Azure SQL Managed Instance.
{ database_name | @database_name_var }
Jest bazą danych, z której utworzono kopię zapasową pełnej bazy danych. Jeśli jest podana jako zmienna (@database_name_var), tę nazwę można określić jako stałą ciągu (@database_name_var=nazwa bazy danych) lub jako zmienną typu danych ciągu znaków, z wyjątkiem ntext lub tekst typów danych.
Aby uzyskać więcej informacji, zobacz pełne kopie zapasowe plików i tworzenie kopii zapasowych plików i grup plików.
ADRES URL DO
Określa adres URL do użycia dla operacji tworzenia kopii zapasowej. Format adresu URL służy do tworzenia kopii zapasowych w usłudze Microsoft Azure Storage.
Ważny
Aby utworzyć kopię zapasową na wielu urządzeniach podczas tworzenia kopii zapasowej adresu URL, należy użyć tokenów sygnatury dostępu współdzielonego (SAS). Aby uzyskać przykłady tworzenia sygnatury dostępu współdzielonego, zobacz tworzenie kopii zapasowej programu SQL Server pod adresem URL i Upraszczanie tworzenia poświadczeń SQL przy użyciu tokenów sygnatury dostępu współdzielonego (SAS) w usłudze Azure Storage przy użyciu programu PowerShell.
n
Jest symbolem zastępczym wskazującym, że na liście rozdzielanej przecinkami można określić maksymalnie 64 urządzenia kopii zapasowej.
Z opcjami
Określa opcje, które mają być używane z operacją tworzenia kopii zapasowej.
SZYFROWANIE
Służy do określania szyfrowania kopii zapasowej. Można określić algorytm szyfrowania, aby zaszyfrować kopię zapasową za pomocą polecenia lub określić NO_ENCRYPTION
, aby nie mieć zaszyfrowanej kopii zapasowej. Zalecane jest szyfrowanie, aby ułatwić zabezpieczanie plików kopii zapasowych. Lista algorytmów, które można określić, to:
AES_128
AES_192
AES_256
TRIPLE_DES_3KEY
NO_ENCRYPTION
Jeśli zdecydujesz się zaszyfrować, musisz również określić szyfrowanie przy użyciu opcji szyfrujących:
SERVER CERTIFICATE = <Encryptor_Name>
SERVER ASYMMETRIC KEY = <Encryptor_Name>
Opcje zestawu kopii zapasowych
COPY_ONLY
Określa, że kopia zapasowa jest kopii zapasowej tylko do kopiowania, która nie ma wpływu na normalną sekwencję kopii zapasowych. Kopia zapasowa tylko do kopiowania jest tworzona niezależnie od automatycznych kopii zapasowych usługi Azure SQL Database. Aby uzyskać więcej informacji, zobacz Copy-Only Backups.
{ KOMPRESJA | NO_COMPRESSION }
Określa, czy kompresja kopii zapasowej jest wykonywana na tej kopii zapasowej, przesłaniając wartość domyślną na poziomie serwera.
Domyślne zachowanie nie jest kompresją kopii zapasowej. Tę wartość domyślną można jednak zmienić, ustawiając domyślną opcję konfiguracji serwera
KOMPRESJA
Jawnie włącza kompresję kopii zapasowych.
NO_COMPRESSION
Jawnie wyłącza kompresję kopii zapasowej.
DESCRIPTION = { 'text' | @text_variable }
Określa dowolny tekst opisujący zestaw kopii zapasowych. Ciąg może mieć maksymalnie 255 znaków.
NAME = { backup_set_name | @_backup|set_var }
Określa nazwę zestawu kopii zapasowych. Nazwy mogą mieć maksymalnie 128 znaków. Jeśli nazwa nie jest określona, jest pusta.
MEDIADESCRIPTION = { tekst | @text_variable }
Określa dowolny opis tekstu, maksymalnie 255 znaków zestawu multimediów.
MEDIANAME = { media_name | @media_name_variable }
Określa nazwę nośnika dla całego zestawu nośników kopii zapasowych. Nazwa nośnika nie może być dłuższa niż 128 znaków, jeśli określono MEDIANAME
, musi być zgodna z wcześniej określoną nazwą nośnika już istniejącą na woluminach kopii zapasowej. Jeśli nie zostanie określona lub jeśli zostanie określona opcja SKIP, nie ma sprawdzania weryfikacji nazwy nośnika.
BLOCKSIZE = { blocksize | @blocksize_variable }
Określa rozmiar bloku fizycznego w bajtach. Obsługiwane rozmiary to 512, 1024, 2048, 4096, 8192, 16384, 32768 i 65536 (64 KB) bajtów. Wartość domyślna to 65536 dla urządzeń taśmowych i 512 w przeciwnym razie. Zazwyczaj ta opcja jest niepotrzebna, ponieważ kopia zapasowa automatycznie wybiera rozmiar bloku odpowiedni dla urządzenia. Jawnie stwierdzając, że rozmiar bloku zastępuje automatyczny wybór rozmiaru bloku.
Opcje transferu danych
BUFFERCOUNT = { buffercount | @buffercount_variable }
Określa łączną liczbę we/wy, które mają być używane na potrzeby operacji tworzenia kopii zapasowej. Można określić dowolną dodatnią liczbę całkowitą; jednak duża liczba może powodować błędy "braku pamięci" z powodu niewystarczającej wirtualnej przestrzeni adresowej w procesie Sqlservr.exe.
Łączna ilość miejsca używanego przez jest określana przez: BUFFERCOUNT * MAXTRANSFERSIZE
.
Nuta
Aby uzyskać ważne informacje na temat korzystania z opcji BUFFERCOUNT
, zobacz wpis w blogu opcji nieprawidłowego transferu danych BufferCount może prowadzić do stanu OOM.
MAXTRANSFERSIZE = { maxtransfersize | @ maxtransfersize_variable }
Określa największą jednostkę transferu w bajtach, która ma być używana między programem SQL Server i nośnikem kopii zapasowej. Możliwe wartości to wielokrotności 65536 bajtów (64 KB) w zakresie do 4194304 bajtów (4 MB).
W przypadku przezroczystego szyfrowania danych (TDE) z włączonym pojedynczym plikiem danych domyślnym MAXTRANSFERSIZE
jest 65536 (64 KB). W przypadku baz danych niezaszyfrowanych za pomocą funkcji TDE domyślna MAXTRANSFERSIZE
jest 1048576 (1 MB) podczas korzystania z kopii zapasowej na dysku i 65536 (64 KB) podczas korzystania z szyfrowania VDI lub TAŚMy.
Nuta
MAXTRANSFERSIZE określa największą jednostkę transferu i nie gwarantuje, że każda operacja zapisu przeniesie określony największy rozmiar. PARAMETR MAXTRANSFERSIZE dla operacji zapisu kopii zapasowych dziennika transakcji rozłożonych jest ustawiony na 64 KB.
Opcje zarządzania błędami
Te opcje umożliwiają określenie, czy sumy kontrolne kopii zapasowej są włączone dla operacji tworzenia kopii zapasowej i czy operacja zatrzymuje się na napotkaniu błędu.
{ NO_CHECKSUM | SUMA KONTROLNA }
Określa, czy są włączone sumy kontrolne kopii zapasowej.
NO_CHECKSUM
Jawnie wyłącza generowanie sum kontrolnych kopii zapasowych (oraz walidację sum kontrolnych stron). Jest to zachowanie domyślne.
SUMA KONTROLNA
Określa, że operacja tworzenia kopii zapasowej weryfikuje każdą stronę pod kątem sumy kontrolnej i rozdartej strony, jeśli jest włączona i dostępna, i generuje sumę kontrolną dla całej kopii zapasowej.
Użycie sum kontrolnych kopii zapasowych może mieć wpływ na przepływność obciążeń i kopii zapasowych.
Aby uzyskać więcej informacji, zobacz Możliwe błędy multimediów podczas tworzenia kopii zapasowej i przywracania.
{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
Określa, czy operacja tworzenia kopii zapasowej zatrzymuje się, czy kontynuuje po wystąpieniu błędu sumy kontrolnej strony.
STOP_ON_ERROR
Instruuje, aby kopia zapasowa nie powiodła się, jeśli suma kontrolna strony nie zostanie zweryfikowana. Jest to zachowanie domyślne.
CONTINUE_AFTER_ERROR
Instruuje tworzenie kopii zapasowej, aby kontynuować pomimo napotkania błędów, takich jak nieprawidłowe sumy kontrolne lub rozdarte strony.
Jeśli nie możesz utworzyć kopii zapasowej dziennika przy użyciu opcji NO_TRUNCATE, gdy baza danych jest uszkodzona, możesz podjąć próbę utworzenia kopii zapasowej dziennika tail-log, określając CONTINUE_AFTER_ERROR zamiast NO_TRUNCATE.
Aby uzyskać więcej informacji, zobacz Możliwe błędy multimediów podczas tworzenia kopii zapasowej i przywracania.
Opcje zgodności
RESTART
Nie ma żadnego efektu. Ta opcja jest akceptowana przez wersję w celu zachowania zgodności z poprzednimi wersjami programu SQL Server.
Opcje monitorowania
STATS [ = procent ]
Wyświetla komunikat za każdym razem, gdy procent zostanie ukończony i służy do pomiaru postępu. Jeśli procent zostanie pominięty, program SQL Server wyświetli komunikat po zakończeniu każdego 10 procent.
Opcja STATS zgłasza procent ukończenia od progu raportowania następnego interwału. Jest to w przybliżeniu określona wartość procentowa; na przykład z stats=10, jeśli kwota ukończona wynosi 40 procent, opcja może wyświetlić 43 procent. W przypadku dużych zestawów kopii zapasowych nie jest to problem, ponieważ procent wykonania jest bardzo powolny między ukończonych wywołań we/wy.
Ograniczenia dotyczące usługi SQL Managed Instance
Maksymalny rozmiar paska kopii zapasowej to 195 GB (maksymalny rozmiar obiektu blob). Zwiększ liczbę pasków w poleceniu kopii zapasowej, aby zmniejszyć rozmiar pojedynczego paska i pozostać w tym limicie.
Bezpieczeństwo
Uprawnienia
BACKUP DATABASE
uprawnienia domyślne dla członków sysadmin stałej roli serwera oraz db_owner i db_backupoperator stałych ról bazy danych.
Problemy z własnością i uprawnieniami w adresie URL 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.
Przykłady
W tym przykładzie wykonywana jest COPY_ONLY kopia zapasowa Sales
w usłudze Microsoft Azure Blob Storage. Nazwa konta magazynu to mystorageaccount
. Kontener jest nazywany myfirstcontainer
. Zasady dostępu przechowywanego zostały utworzone z prawami do odczytu, zapisu, usuwania i listy. Poświadczenie programu SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer
, zostało utworzone przy użyciu sygnatury dostępu współdzielonego skojarzonej z zapisanymi zasadami dostępu. Aby uzyskać informacje na temat tworzenia kopii zapasowej programu SQL Server w usłudze Azure Blob Storage, zobacz tworzenie kopii zapasowej i przywracanie programu SQL Server za pomocą usługi Microsoft Azure Blob Storage i tworzenie kopii zapasowej programu SQL Server pod adresem URL.
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5, COPY_ONLY;
Możesz również utworzyć kopię zapasową bazy danych w wielu paskach i wyglądać następująco:
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;
Powiązana zawartość
usługi
* Analiza
System platformy (PDW) *
System platformy analizy
Tworzy kopię zapasową bazy danych systemu platformy analizy (PDW) i zapisuje kopię zapasową z urządzenia w określonej przez użytkownika lokalizacji sieciowej. Użyj tej instrukcji z RESTORE DATABASE — Analytics Platform System na potrzeby odzyskiwania po awarii lub skopiuj bazę danych z jednego urządzenia do innego.
Przed rozpoczęciemzobacz sekcję "Uzyskiwanie i konfigurowanie serwera kopii zapasowych" w dokumentacji produktu Analytics Platform System (PDW).
Istnieją dwa typy kopii zapasowych w systemie platformy analizy (PDW).
pełna kopia zapasowa bazy danych to kopia zapasowa całej bazy danych systemu platformy analizy (PDW).
różnicowej kopii zapasowej bazy danych zawiera tylko zmiany wprowadzone od czasu utworzenia ostatniej pełnej kopii zapasowej. Kopia zapasowa bazy danych użytkownika obejmuje użytkowników bazy danych i role bazy danych. Kopia zapasowa bazy danych master
zawiera identyfikatory logowania.
Aby uzyskać więcej informacji na temat kopii zapasowych bazy danych systemu platformy analizy (PDW), zobacz "Backup and Restore" (Tworzenie kopii zapasowych i przywracanie) w dokumentacji produktu Analytics Platform System (PDW).
Składnia
--Create a full backup of a user database or the master database.
BACKUP DATABASE database_name
TO DISK = '\\UNC_path\backup_directory'
[ WITH [ ( ]<with_options> [ ,...n ][ ) ] ]
[;]
--Create a differential backup of a user database.
BACKUP DATABASE database_name
TO DISK = '\\UNC_path\backup_directory'
WITH [ ( ] DIFFERENTIAL
[ , <with_options> [ ,...n ] [ ) ]
[;]
<with_options> ::=
DESCRIPTION = 'text'
| NAME = 'backup_name'
Argumenty
database_name
Nazwa bazy danych, na której ma zostać utworzona kopia zapasowa. Baza danych może być bazą danych master
lub bazą danych użytkownika.
TO DISK = '\\UNC_path\backup_directory'
Ścieżka sieciowa i katalog, do którego system platformy analizy (PDW) zapisze pliki kopii zapasowej. Na przykład \\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup
.
- Ścieżka do nazwy katalogu kopii zapasowej musi już istnieć i musi być określona jako w pełni kwalifikowana ścieżka konwencji nazewnictwa uniwersalnego (UNC).
- Katalog kopii zapasowej, backup_directory, nie może istnieć przed uruchomieniem polecenia kopii zapasowej. System platformy analizy (PDW) utworzy katalog kopii zapasowych.
- Ścieżka do katalogu kopii zapasowej nie może być ścieżką lokalną i nie może być lokalizacją w żadnym z węzłów urządzenia Systemu platformy analitycznej (PDW).
- Maksymalna długość ścieżki UNC i nazwy katalogu kopii zapasowej to 200 znaków.
- Serwer lub host musi być określony jako adres IP. Nie można określić go jako nazwy hosta lub serwera.
DESCRIPTION = 'text'
Określa tekstowy opis kopii zapasowej. Maksymalna długość tekstu wynosi 255 znaków.
Opis jest przechowywany w metadanych i będzie wyświetlany po przywróceniu nagłówka kopii zapasowej przy użyciu funkcji RESTORE HEADERONLY.
NAME = 'backup _name'
Określa nazwę kopii zapasowej. Nazwa kopii zapasowej może być inna niż nazwa bazy danych.
- Nazwy mogą mieć maksymalnie 128 znaków.
- Nie można dołączyć ścieżki.
- Musi zaczynać się literą lub cyfrą albo znakiem podkreślenia (
_
). Dozwolone znaki specjalne to podkreślenie (_
), łącznik (-) lub spacja ( ). Nazwy kopii zapasowych nie mogą kończyć się znakiem spacji. - Instrukcja zakończy się niepowodzeniem, jeśli backup_name już istnieje w określonej lokalizacji.
Ta nazwa jest przechowywana w metadanych i będzie wyświetlana po przywróceniu nagłówka kopii zapasowej przy użyciu funkcji RESTORE HEADERONLY.
RÓŻNICZKA
Określa, aby wykonać różnicową kopię zapasową bazy danych użytkownika. W przypadku pominięcia wartość domyślna to pełna kopia zapasowa bazy danych. Nazwa różnicowej kopii zapasowej nie musi być zgodna z nazwą pełnej kopii zapasowej. Aby śledzić różnicową i odpowiadającą jej pełną kopię zapasową, rozważ użycie tej samej nazwy z dołączonym ciągiem "full" lub "diff".
Na przykład:
BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerFull';
BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerDiff' WITH DIFFERENTIAL;
Uprawnienia
Wymaga uprawnienia BACKUP DATABASE
lub członkostwa w db_backupoperator stałej roli bazy danych. Nie można utworzyć kopii zapasowej bazy danych master
, ale przez zwykłego użytkownika, który został dodany do stałej roli bazy danych db_backupoperator. Kopię zapasową bazy danych master
można utworzyć tylko za pomocą , administratora sieci szkieletowej lub członków stałej roli serwera sysadmin.
Wymaga konta systemu Windows z uprawnieniami dostępu, tworzenia i zapisywania w katalogu kopii zapasowych. Należy również przechowywać nazwę konta systemu Windows i hasło w systemie platformy analizy (PDW). Aby dodać te poświadczenia sieciowe do systemu Analytics Platform System (PDW), użyj sp_pdw_add_network_credentials — Azure Synapse Analytics procedury składowanej.
Aby uzyskać więcej informacji na temat zarządzania poświadczeniami w systemie platformy analizy (PDW), zobacz sekcję Security.
Obsługa błędów
Błędy bazy danych kopii zapasowej w następujących warunkach:
- Uprawnienia użytkownika nie są wystarczające do wykonania kopii zapasowej.
- System platformy analizy (PDW) nie ma odpowiednich uprawnień do lokalizacji sieciowej, w której będzie przechowywana kopia zapasowa.
- Baza danych nie istnieje.
- Katalog docelowy już istnieje w udziale sieciowym.
- Docelowy udział sieciowy jest niedostępny.
- Docelowy udział sieciowy nie ma wystarczającej ilości miejsca dla kopii zapasowej. Polecenie BACKUP DATABASE nie potwierdza, że istnieje wystarczająca ilość miejsca na dysku przed zainicjowaniem kopii zapasowej, co umożliwia wygenerowanie błędu braku miejsca na dysku podczas uruchamiania bazy danych KOPII ZAPASOWEJ. Gdy wystąpi niewystarczająca ilość miejsca na dysku, system platformy analizy (PDW) wycofa polecenie BACKUP DATABASE. Aby zmniejszyć rozmiar bazy danych, uruchom DBCC SHRINKLOG (Analytics Platform System (PDW))
- Spróbuj uruchomić kopię zapasową w ramach transakcji.
Uwagi
Przed wykonaniem kopii zapasowej bazy danych użyj DBCC SHRINKLOG (Analytics Platform System (PDW)), aby zmniejszyć rozmiar bazy danych.
Kopia zapasowa systemu platformy analizy (PDW) jest przechowywana jako zestaw wielu plików w tym samym katalogu.
Różnicowa kopia zapasowa zwykle zajmuje mniej czasu niż pełna kopia zapasowa i może być wykonywana częściej. Gdy wiele różnicowych kopii zapasowych jest opartych na tej samej pełnej kopii zapasowej, każda różnica obejmuje wszystkie zmiany w poprzedniej różnicowej kopii zapasowej.
Jeśli anulujesz polecenie BACKUP, system platformy analizy (PDW) usunie katalog docelowy i wszystkie pliki utworzone dla kopii zapasowej. Jeśli system platformy analizy (PDW) utraci łączność sieciową z udziałem, wycofanie nie może zakończyć się.
Pełne kopie zapasowe i różnicowe kopie zapasowe są przechowywane w oddzielnych katalogach. Konwencje nazewnictwa nie są wymuszane w celu określenia, że pełna kopia zapasowa i różnicowa kopia zapasowa należą do siebie. Możesz to śledzić za pomocą własnych konwencji nazewnictwa. Alternatywnie możesz to śledzić za pomocą opcji WITH DESCRIPTION, aby dodać opis, a następnie za pomocą instrukcji RESTORE HEADERONLY w celu pobrania opisu.
Ograniczenia
Nie można wykonać różnicowej kopii zapasowej bazy danych master
. Obsługiwane są tylko pełne kopie zapasowe bazy danych master
.
Kopie zapasowe dziennika transakcji bazy danych systemu master
nie są obsługiwane.
Pliki kopii zapasowej są przechowywane w formacie odpowiednim tylko do przywracania kopii zapasowej do urządzenia systemu platformy analizy (PDW) przy użyciu instrukcji RESTORE DATABASE - Analytics Platform System.
Nie można użyć kopii zapasowej z instrukcją BACKUP DATABASE do transferu danych ani informacji o użytkowniku do baz danych programu SQL Server SMP. W przypadku tej funkcji można użyć funkcji kopiowania tabeli zdalnej. Aby uzyskać więcej informacji, zobacz dokumentację produktu Analytics Platform System (PDW) w dokumentacji produktu "Kopiowanie tabel zdalnych".
System platformy analizy (PDW) używa technologii tworzenia kopii zapasowych programu SQL Server do tworzenia kopii zapasowych i przywracania baz danych. Opcje tworzenia kopii zapasowej programu SQL Server są wstępnie skonfigurowane do korzystania z kompresji kopii zapasowej. Nie można ustawić opcji tworzenia kopii zapasowej, takich jak kompresja, suma kontrolna, rozmiar bloku i liczba.
W danym momencie na urządzeniu można uruchamiać tylko jedną kopię zapasową lub przywracanie bazy danych. System platformy analizy (PDW) spowoduje kolejkę poleceń tworzenia kopii zapasowej lub przywracania do momentu ukończenia bieżącego polecenia tworzenia kopii zapasowej lub przywracania.
Urządzenie docelowe do przywracania kopii zapasowej musi mieć co najmniej tyle węzłów obliczeniowych, jak urządzenie źródłowe. Obiekt docelowy może mieć więcej węzłów obliczeniowych niż urządzenie źródłowe, ale nie może mieć mniejszej liczby węzłów obliczeniowych.
System platformy analizy (PDW) nie śledzi lokalizacji i nazw kopii zapasowych, ponieważ kopie zapasowe są przechowywane poza urządzeniem.
System platformy analizy (PDW) śledzi powodzenie lub niepowodzenie tworzenia kopii zapasowych bazy danych.
Różnicowa kopia zapasowa jest dozwolona tylko wtedy, gdy ostatnia pełna kopia zapasowa została ukończona pomyślnie. Załóżmy na przykład, że w poniedziałek utworzysz pełną kopię zapasową bazy danych Sales
i tworzenie kopii zapasowej zakończy się pomyślnie. Następnie we wtorek utworzysz pełną kopię zapasową bazy danych Sales
i zakończy się niepowodzeniem. Po tym niepowodzeniu nie można utworzyć różnicowej kopii zapasowej na podstawie pełnej kopii zapasowej w poniedziałek. Przed utworzeniem różnicowej kopii zapasowej należy najpierw utworzyć pełną kopię zapasową.
Metadane
Te dynamiczne widoki zarządzania zawierają informacje o wszystkich operacjach tworzenia kopii zapasowych, przywracania i ładowania. Informacje są utrwalane podczas ponownego uruchamiania systemu.
Wydajność
Aby wykonać kopię zapasową, system platformy analizy (PDW) najpierw tworzy kopię zapasową metadanych, a następnie wykonuje równoległą kopię zapasową danych bazy danych przechowywanych w węzłach obliczeniowych. Dane są kopiowane bezpośrednio z każdego węzła obliczeniowego do katalogu kopii zapasowych. Aby uzyskać najlepszą wydajność przenoszenia danych z węzłów obliczeniowych do katalogu kopii zapasowych, system platformy analizy (PDW) kontroluje liczbę węzłów obliczeniowych, które kopiują dane współbieżnie.
Blokowania
Przyjmuje blokadę ExclusiveUpdate w obiekcie DATABASE.
Bezpieczeństwo
Kopie zapasowe systemu platformy analitycznej (PDW) nie są przechowywane na urządzeniu. W związku z tym zespół IT jest odpowiedzialny za zarządzanie wszystkimi aspektami zabezpieczeń kopii zapasowych. Obejmuje to na przykład zarządzanie zabezpieczeniami danych kopii zapasowych, zabezpieczenia serwera używanego do przechowywania kopii zapasowych oraz zabezpieczenia infrastruktury sieciowej łączącej serwer kopii zapasowych z urządzeniem Systemu platformy analizy (PDW).
zarządzanie poświadczeniami sieci
Dostęp sieciowy do katalogu kopii zapasowej jest oparty na standardowych zabezpieczeniach udostępniania plików systemu operacyjnego. Przed wykonaniem kopii zapasowej należy utworzyć lub wyznaczyć konto systemu Windows, które będzie używane do uwierzytelniania systemu platformy analizy (PDW) w katalogu kopii zapasowych. To konto systemu Windows musi mieć uprawnienia dostępu, tworzenia i zapisywania w katalogu kopii zapasowych.
Ważny
Aby zmniejszyć ryzyko związane z bezpieczeństwem danych, zalecamy wyznaczenie jednego konta systemu Windows wyłącznie na potrzeby wykonywania operacji tworzenia kopii zapasowych i przywracania. Zezwól temu kontu na uprawnienia do lokalizacji kopii zapasowej i nigdzie indziej.
Należy przechowywać nazwę użytkownika i hasło w systemie platformy analizy (PDW), uruchamiając sp_pdw_add_network_credentials — Azure Synapse Analytics procedurę składowaną. System platformy analizy (PDW) używa Menedżera poświadczeń systemu Windows do przechowywania i szyfrowania nazw użytkowników i haseł w węźle kontrolnym i węzłach obliczeniowych. Poświadczenia nie są kopii zapasowej za pomocą polecenia BACKUP DATABASE.
Aby usunąć poświadczenia sieciowe z systemu Analytics Platform System (PDW), zobacz sp_pdw_remove_network_credentials — Azure Synapse Analytics.
Aby wyświetlić listę wszystkich poświadczeń sieci przechowywanych w systemie platformy analizy (PDW), użyj widoku dynamicznego zarządzania sys.dm_pdw_network_credentials.
Przykłady
A. Dodawanie poświadczeń sieciowych dla lokalizacji kopii zapasowej
Aby utworzyć kopię zapasową, system platformy analizy (PDW) musi mieć uprawnienie do odczytu/zapisu w katalogu kopii zapasowej. W poniższym przykładzie pokazano, jak dodać poświadczenia dla użytkownika. System platformy analizy (PDW) będzie przechowywać te poświadczenia i używać ich do wykonywania operacji tworzenia kopii zapasowych i przywracania.
Ważny
Ze względów bezpieczeństwa zalecamy utworzenie jednego konta domeny wyłącznie w celu wykonywania kopii zapasowych.
EXEC sp_pdw_add_network_credentials 'xxx.xxx.xxx.xxx', 'domain1\backupuser', '*****';
B. Usuwanie poświadczeń sieciowych dla lokalizacji kopii zapasowej
W poniższym przykładzie pokazano, jak usunąć poświadczenia użytkownika domeny z systemu platformy analizy (PDW).
EXEC sp_pdw_remove_network_credentials 'xxx.xxx.xxx.xxx';
C. Tworzenie pełnej kopii zapasowej bazy danych użytkownika
Poniższy przykład tworzy pełną kopię zapasową bazy danych użytkowników Faktur. System platformy analizy (PDW) utworzy katalog Invoices2013
i zapisze pliki kopii zapasowej w katalogu \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full
.
BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';
D. Tworzenie różnicowej kopii zapasowej bazy danych użytkownika
Poniższy przykład tworzy różnicową kopię zapasową, która zawiera wszystkie zmiany wprowadzone od ostatniej pełnej kopii zapasowej bazy danych Invoices
. System platformy analizy (PDW) utworzy katalog \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff
do przechowywania plików. Opis "Różnicowa kopia zapasowa faktur 2013" będzie przechowywany z informacjami nagłówka kopii zapasowej.
Różnicowa kopia zapasowa zostanie uruchomiona pomyślnie tylko wtedy, gdy ostatnia pełna kopia zapasowa faktur została ukończona pomyślnie.
BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
WITH DIFFERENTIAL,
DESCRIPTION = 'Invoices 2013 differential backup';
E. Tworzenie pełnej kopii zapasowej bazy danych master
Poniższy przykład tworzy pełną kopię zapasową bazy danych master
i przechowuje ją w katalogu \\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master
, gdzie adres IP jest adresem IP sieci.
BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master';
F. Tworzenie kopii zapasowej informacji logowania urządzenia
Baza danych master
przechowuje informacje logowania urządzenia. Aby utworzyć kopię zapasową informacji logowania urządzenia, należy utworzyć kopię zapasową bazy danych master
.
Poniższy przykład tworzy pełną kopię zapasową bazy danych master
.
BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master'
WITH (
DESCRIPTION = 'Master Backup 20130722',
NAME = 'login-backup'
)
;