Udostępnij za pomocą


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 Managed Instance

 

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 | ZSTD | accelerator_algorithm } [ , LEVEL = { LOW | MEDIUM | HIGH } ] ) ] | 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 BACKUP DATABASE ( kopia zapasowa danych) 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, STOPATMARKlub 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 obcięty po rutynowych kopiach zapasowych dziennika, może to spowodować opóźnienie obcinania dziennika. Aby uzyskać więcej informacji, zobacz Czynniki, które mogą opóźnić obcinanie dziennika.

GROUP (<baza danych>, ... n)

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

Utwórz kopię zapasową grupy baz danych. Używa kopii zapasowej migawki. Wymaga .WITH METADATA_ONLY Zobacz Tworzenie kopii zapasowej migawki Transact-SQL.

SERWER

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

Tworzenie kopii zapasowych wszystkich baz danych w wystąpieniu programu SQL Server. Używa kopii zapasowej migawki. Wymaga .WITH METADATA_ONLY Zobacz Tworzenie kopii zapasowej migawki Transact-SQL.

METADATA_ONLY

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

Wymagane do tworzenia kopii zapasowej migawki. BACKUP SERVERlub BACKUP GROUP... Zobacz Tworzenie kopii zapasowej migawki Transact-SQL.

METADATA_ONLYjest synonimem .SNAPSHOT Interfejs urządzenia wirtualnego (VDI) używa polecenia SNAPSHOT. Aby uzyskać informacje o interfejsie VDI, zobacz Interfejs wirtualnego urządzenia (VDI) — dokumentacja.

{ database_name | @database_name_var }

Kopia zapasowa bazy danych, z której jest tworzona kopia zapasowa dziennika transakcji, częściowa baza danych lub kompletna baza danych. Jeśli jest podana jako zmienna (@database_name_var), tę nazwę można określić jako stałą ciągu (@database_name_var = nazwę bazy danych) lub jako zmienną typu danych ciągu znaków, z wyjątkiem ntext lub typów danych tekstowych .

Nuta

Nie można utworzyć kopii zapasowej dublowania bazy danych w ramach partnerstwa dublowania bazy danych.

< > file_or_filegroup [ , ... n ]

Używany tylko w programie BACKUP DATABASEokreś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, które mają być uwzględnione w częściowej kopii zapasowej.

PLIK = { logical_file_name | @logical_file_name_var }

Nazwa logiczna 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 }

Nazwa logiczna grupy plików lub zmiennej, której wartość jest równa logicznej nazwie 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

    Symbol zastępczy wskazujący, ż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 (SQL Server) i Tworzenie kopii zapasowychplikó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 odczytu/zapisu przy użyciu polecenia FILEGROUP zamiast READ_WRITE_FILEGROUPS tworzy kopię zapasową pliku.

  • FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

    Nazwa logiczna grupy plików tylko do odczytu lub zmiennej, której wartość jest równa nazwie logicznej grupy plików tylko do odczytu, która ma zostać uwzględniona w częściowej kopii zapasowej. Aby uzyskać więcej informacji, zobacz "<file_or_filegroup>", wcześniej w tym artykule.

  • n

    Symbol zastępczy wskazujący, ż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 (SQL Server).

ABY <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ą MIRROR TO klauzulę).

<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: SQL Server.

Logiczna nazwa 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 = nazwa urządzenia logicznej kopii zapasowej) lub jako zmienną dowolnego typu danych ciągu znaków, z wyjątkiem typów danych tekstowych lub tekstowych.

{ DYSK | TAŚMA | URL} = { 'physical_device_name' | @physical_device_name_var | "NUL" }

Dotyczy: SQL Server.

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:

Możesz utworzyć kopię zapasową usługi Microsoft Azure Blob Storage przy użyciu tożsamości zarządzanej rozpoczynającej się od:

Nuta

Urządzenie dysku NUL odrzuca wszystkie informacje wysyłane do niego 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 wykonać kopię zapasową wielu urządzeń podczas tworzenia kopii zapasowej adresu URL, należy użyć programu SQL Server 2016 (13.x) i nowszych, a następnie 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 dla usługi Azure Blob Storage 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 INIT opcja nie zostanie określona w instrukcji BACKUP , kopia zapasowa zostanie dołączona do urządzenia.

Urządzenie NUL odrzuca wszystkie dane wejściowe wysłane do tego pliku, jednak kopia zapasowa nadal oznacza wszystkie strony jako kopię zapasową.

Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowych urządzeń (SQL Server).

Nuta

Opcja TAPE 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

    Symbol zastępczy wskazujący, że na liście rozdzielanej przecinkami można określić maksymalnie 64 urządzenia kopii zapasowej.

DUBLOWANIE DO <backup_device> [ , ... n ]

Określa konfigurację 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 MIRROR TO klauzul wynosi trzy.

Ta opcja jest dostępna tylko w wersji Enterprise programu SQL Server.

Nuta

W przypadku MIRROR TO = DISKprogramu BACKUP automatycznie określa odpowiedni rozmiar bloku dla urządzeń dyskowych na podstawie rozmiaru sektora dysku. MIRROR TO Jeśli dysk jest sformatowany przy użyciu innego rozmiaru sektora niż dysk określony jako podstawowe urządzenie kopii zapasowej, polecenie kopii zapasowej kończy się niepowodzeniem. Aby dublować kopie zapasowe na urządzeniach o różnych rozmiarach sektorów, BLOCKSIZE należy określić parametr i należy ustawić na najwyższy rozmiar sektora wśród wszystkich urządzeń docelowych. Aby uzyskać więcej informacji na temat rozmiaru bloku, zobacz "BLOCKSIZE" w dalszej części tego artykułu.

<backup_device>

Zobacz "<backup_device>", wcześniej w tej sekcji.

  • n

    Symbol zastępczy wskazujący, ż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 Rodziny multimediów w dublowanych zestawach multimediów w dalszej części tego artykułu.

  • [ następne dublowanie do ]

    Symbol zastępczy wskazujący, że pojedyncza BACKUP instrukcja może zawierać maksymalnie trzy MIRROR TO klauzule oprócz pojedynczej TO klauzuli.

Z opcjami

Określa opcje, które mają być używane z operacją tworzenia kopii zapasowej.

POŚWIADCZEŃ

Dotyczy: SQL Server.

Używane tylko podczas tworzenia kopii zapasowej w usłudze Azure Blob Storage.

Zrzut_pliku

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje.

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 pliki danych programu SQL Server na platformie 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 i 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żywany tylko w programie BACKUP DATABASEokreśla, że kopia zapasowa bazy danych lub pliku 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óżnicowe kopie zapasowe (SQL Server).

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 (TWORZENIE CERTYFIKATU ) i CREATE ASYMETRYCZNY KLUCZ (UTWÓRZ KLUCZ ASYMETRYCZNY ).

Ostrzeżenie

Gdy szyfrowanie jest używane z argumentem FILE_SNAPSHOT , sam plik metadanych jest szyfrowany przy użyciu określonego algorytmu szyfrowania, a system sprawdza, czy funkcja Transparent Data Encryption (TDE) została ukończona dla bazy danych. Nie ma dodatkowego szyfrowania dla samych danych. Tworzenie kopii zapasowej kończy się niepowodzeniem, jeśli baza danych nie została zaszyfrowana lub jeśli szyfrowanie nie zostało ukończone przed wydaniem instrukcji kopii zapasowej.

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.

TYLKO_KOPIUJ

Określa, że kopia zapasowa jest kopią zapasową 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 DATABASECOPY_ONLY opcją opcja 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 i COPY_ONLY są używane razem, COPY_ONLY zostanie zignorowana i zostanie utworzona różnicowa kopia zapasowa.

  • W przypadku użycia z BACKUP LOGCOPY_ONLY programem opcja tworzy kopię zapasową 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 dziennika zachowują się tak, jakby kopia zapasowa tylko do kopiowania nie istnieje.

Aby uzyskać więcej informacji, zobacz Kopie zapasowe tylko do kopiowania.

[ KOMPRESJA [ ( ALGORYTM = { MS_XPRESS | ZSTD | accelerator_algorithm } [ , POZIOM = { NISKI | ŚREDNI | HIGH } ] ) ] | 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 kompresji kopii zapasowej. Aby uzyskać informacje o wyświetlaniu bieżącej wartości tej opcji, zobacz Wyświetlanie lub zmienianie właściwości serwera (SQL Server).

Aby uzyskać informacje na temat korzystania z kompresji kopii zapasowej z bazami danych z obsługą technologii Transparent Data Encryption (TDE ), zobacz sekcję Uwagi .

Algorytm kompresji ZSTD jest dostępny od SQL Server 2025 (17.x).

  • KOMPRESJA

    Jawnie włącza kompresję kopii zapasowych.

  • NO_COMPRESSION

    Jawnie wyłącza kompresję kopii zapasowej.

  • POZIOM

    Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

    Jest to opcjonalny parametr określający poziom kompresji. Wpływa ALGORITHM = MS_EXPRESSna , a zaczynając od SQL Server 2025 (17.x), ALGORITHM = ZSTD.

    Dopuszczalne wartości to:

    • LOW (ustawienie domyślne)
    • MEDIUM
    • HIGH
  • ALGORYTM

    Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

    ZSTD i MS_EXPRESS są algorytmami na poziomie oprogramowania. QAT_DEFLATE to algorytm oparty na sprzęcie wymagający technologii Intel® QuickAssist Technology (QAT) dla programu SQL Server. Wartość domyślna to MS_XPRESS.

    Aby użyć algorytmu kompresji ZSTD wprowadzonego w SQL Server 2025 (17.x):

    BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = ZSTD, LEVEL = MEDIUM)
    

    Jeśli skonfigurowano zintegrowane przyspieszanie i odciążanie, możesz użyć akceleratora dostarczonego przez rozwiązanie. Jeśli na przykład skonfigurowano konfigurowanie zintegrowanego przyspieszania i odciążania, poniższy przykład kończy tworzenie kopii zapasowej przy użyciu rozwiązania akceleratora, a biblioteka QATzip używaną z QZ_DEFLATE poziomem kompresji 1.

    BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE)
    

    Przykładowe zachowania:

    Instrukcja kopii zapasowej Outcome
    TWORZENIE KOPII ZAPASOWEJ BAZY DANYCH DATABASE_NAME NA {DISK | TAŚMA | ADRES URL} Z NO_COMPRESSION Tworzenie kopii zapasowej bez kompresji
    TWORZENIE KOPII ZAPASOWEJ BAZY DANYCH DATABASE_NAME NA {DISK | TAŚMA | ADRES URL} Z KOMPRESJĄ Kopia zapasowa z kompresją przy użyciu algorytmu określonego przez opcję backup compression algorithm serwera (ustawienie domyślne MS_XPRESS)
    TWORZENIE KOPII ZAPASOWEJ BAZY DANYCH DATABASE_NAME NA {DISK | TAŚMA | ADRES URL} Z KOMPRESJĄ (ALGORYTM = MS_XPRESS) Tworzenie kopii zapasowej z kompresją przy użyciu MS_XPRESS algorytmu
    TWORZENIE KOPII ZAPASOWEJ BAZY DANYCH DATABASE_NAME NA {DISK | TAŚMA | ADRES URL} Z KOMPRESJĄ (ALGORYTM = ZSTD) Tworzenie kopii zapasowej z kompresją przy użyciu algorytmu ZSTD.
    TWORZENIE KOPII ZAPASOWEJ BAZY DANYCH DATABASE_NAME NA {DISK | TAŚMA | ADRES URL} Z KOMPRESJĄ (ALGORYTM = ZSTD, POZIOM = WYSOKI) Wykonaj kopię zapasową z kompresją przy użyciu algorytmu ZSTD z poziomem HIGHkompresji .

OPIS = { 'tekst' | @text_variable }

Określa dowolny tekst opisujący zestaw kopii zapasowych. Ciąg może mieć maksymalnie 255 znaków.

NAZWA = { backup_set_name | @backup_set_var }

Określa nazwę zestawu kopii zapasowych. Nazwy mogą mieć maksymalnie 128 znaków. Jeśli NAME nie zostanie określony, jest on pusty.

{ DATA WAŻNOŚCI = '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, RETAINDAYS pierwszeństwo ma wartość EXPIREDATE.

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 artykule.

  • EXPIREDATE = { '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 formatem daty/godziny systemu i być określona jako jedna z następujących wartości:

    • Stała ciągu (@date_var = date)
    • 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 o sposobie 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 jest podana jako zmienna (@days_var), musi być określona jako liczba całkowita.

{ METADATA_ONLY | MIGAWKA }

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

METADATA_ONLY i SNAPSHOT są synonimami.

Opcje zestawu multimediów

Te opcje działają na nośnikach ustawionych jako całość.

{ NOINIT | START }

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 artykułu.

  • 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. NOINIT jest wartością domyślną.

    Aby uzyskać więcej informacji, zobacz Zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych (SQL Server).

  • INIT

    Określa, że wszystkie zestawy kopii zapasowych powinny zostać zastąpione, ale zachowuje nagłówek nośnika. Jeśli INIT zostanie określony, dowolny istniejący zestaw kopii zapasowych na tym urządzeniu zostanie zastąpiony, jeśli warunki są spełnione. Domyślnie BACKUP 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 i RETAINDAYS.
    • Nazwa zestawu kopii zapasowych podana w instrukcji BACKUP , jeśli jest podana, nie jest zgodna z nazwą na nośniku kopii zapasowej. Aby uzyskać więcej informacji, zobacz opcję we wcześniejszej NAME części 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 (SQL Server).

{ 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 artykułu.

  • NOSKIP

    Nakazuje instrukcji BACKUP sprawdzenie daty 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 na temat interakcji 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 dotyczące expiration_date kolumny tabeli historii zestawu kopii zapasowych .

{ 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ślenie formatu oznacza SKIP, że SKIP nie trzeba jawnie określać.

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 SKIP zostanie określona opcja, 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ż BACKUP 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 wartość 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.

Zwiększenie BUFFERCOUNT może znacznie skrócić czas tworzenia kopii zapasowej kosztem wyższego użycia pamięci.

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) o rozmiarze do 4 194 304 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.

Podczas tworzenia kopii zapasowych przy użyciu usługi zapisywania SQL, jeśli baza danych skonfigurowała parametr FILESTREAM (SQL Server) lub zawiera grupy plików zoptymalizowane pod kątem pamięci, MAXTRANSFERSIZE wówczas czas przywracania powinien być większy lub równy MAXTRANSFERSIZE wartości użytej podczas tworzenia kopii zapasowej.

W przypadku baz danych z obsługą technologii Transparent Data Encryption (TDE) z pojedynczym plikiem danych wartość domyślna MAXTRANSFERSIZE to 65536 (64 KB). W przypadku nieszyfrowanych baz danych TDE wartość domyślna MAXTRANSFERSIZE to 1048576 (1 MB) podczas korzystania z kopii zapasowej w DISKsystemach i 65536 (64 KB) w przypadku korzystania z szyfrowania VDI lub TAPE. 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 (SQL Server).

{ 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

    Nakazuje BACKUP niepowodzenie, jeśli suma kontrolna strony nie zostanie zweryfikowana. Jest to zachowanie domyślne.

  • CONTINUE_AFTER_ERROR

    Nakazuje BACKUP kontynuowanie pomimo napotkania błędów, takich jak nieprawidłowe sumy kontrolne lub rozdarte strony.

Jeśli nie możesz utworzyć kopii zapasowej końca dziennika przy użyciu NO_TRUNCATE opcji, gdy baza danych jest uszkodzona, możesz spróbować utworzyć kopię zapasową dziennika końcowego , 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 (SQL Server).

Opcje zgodności

Ponowne uruchomienie

Nie ma żadnego efektu. Ta opcja jest akceptowana przez wersję w celu zapewnienia zgodności z usługami SQL Server 2005 Analysis Services (SSAS).

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 opcją 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 TAPE urządzeń. Jeśli urządzenie nietape jest używane, te opcje są ignorowane.

{ WSTECZCIE | NOREWIND }

  • PRZEWIŃ

    Określa, że program SQL Server zwalnia i przewija taśmę. REWIND jest wartością domyślną.

  • NOREWIND

    Określa, że program SQL Server przechowuje taśmę otwartą 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 BACKUP instrukcji.

    Nuta

    Jeśli używasz programu NOREWIND, wystąpienie programu SQL Server zachowuje własność stacji taśm, dopóki BACKUP instrukcja lub RESTORE , która jest uruchomiona w tym samym procesie, używa REWIND opcji lub UNLOAD lub wystąpienie serwera zostanie zamknięte. 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 Tworzenie kopii zapasowych urządzeń (SQL Server).

{ ROZŁADOWUJ | ŁADUNEK }

Nuta

UNLOAD i NOUNLOAD są ustawieniami sesji, które utrzymują się przez okres życia sesji lub dopóki nie zostaną zresetowane, określając alternatywę.

  • WYŁADOWAĆ

    Określa, że taśma jest automatycznie przywracana i zwalniana po zakończeniu tworzenia kopii zapasowej. UNLOAD jest wartością domyślną po rozpoczęciu sesji.

  • NOUNLOAD

    Określa, że po BACKUP operacji 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 (SQL Server).

{ NORECOVERY | STANDBY = undo_file_name }

  • NORECOVERY

    Wykonuje kopię zapasową końca dziennika i opuszcza bazę danych w stanie PRZYWRACANIA. NORECOVERY jest przydatne w przypadku przełączania 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 = standby_file_name

    Wykonuje kopię zapasową końca dziennika i pozostawia bazę danych w stanie tylko do odczytu i STANDBY stanu. Klauzula STANDBY zapisuje dane rezerwowe (wykonywanie wycofywania, ale z opcją dalszych przywracania). STANDBY Użycie opcji jest równoważne z BACKUP LOG WITH NORECOVERY elementem , po którym następuje RESTORE WITH STANDBY.

    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 RESTORE LOG operacje 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.

Nie skracać

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 kopia zapasowa wykonana za pomocą NO_TRUNCATE polecenia może mieć niekompletne metadane. Ta opcja umożliwia tworzenie kopii zapasowej dziennika transakcji w sytuacjach, w których baza danych jest uszkodzona.

Opcja jest równoważna NO_TRUNCATE określeniu BACKUP LOG wartości COPY_ONLY i CONTINUE_AFTER_ERROR.

NO_TRUNCATE Bez opcji baza danych musi być w ONLINE stanie . Jeśli baza danych jest w stanie ZAWIESZONE, możesz utworzyć kopię zapasową, określając NO_TRUNCATE. Ale jeśli baza danych jest w OFFLINE stanie lub EMERGENCY , BACKUP 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 kopii zapasowych (SQL Server).

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 COPY_ONLY opcję w instrukcji BACKUP . Aby uzyskać więcej informacji, zobacz Kopie zapasowe tylko do kopiowania.

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 Wyświetlanie lub zmienianie modelu odzyskiwania bazy danych (SQL Server).

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 ma wartość true:

  • 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 AdventureWorks2025 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 paska nie można go użyć do tworzenia kopii zapasowej jednego 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 obydwa MEDIANAME elementy lub MEDIADESCRIPTION nie są określone podczas zapisywania nagłówka nośnika, pole nagłówka nośnika odpowiadające pustemu elementowi jest puste.

Praca z zestawem multimediów dublowanych

Zazwyczaj kopie zapasowe są niesmirrored, a BACKUP instrukcje 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 zdublowanych multimediów każda MIRROR TO klauzula 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 TO klauzuli instrukcji BACKUP odpowiada rodzinie multimediów. Jeśli na przykład klauzula TO zawiera listę trzech urządzeń, 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 poprzednim przykładzie korespondencja między urządzeniami i rodzinami multimediów jest wyświetlana 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 multimediów kopii zapasowych (SQL Server). Aby uzyskać więcej informacji na temat zestawów multimediów i rodzin multimediów, zobacz Zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych (SQL Server).

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 RESTORE lub programu SQL Server Management Studio Restore zadania. Aby uzyskać więcej informacji, zobacz Przywracanie i odzyskiwanie — omówienie (SQL Server).

Dodatkowe zagadnienia dotyczące opcji kopii zapasowej

Interakcja funkcji SKIP, NOSKIP, INIT i NOINIT

W tej tabeli opisano interakcje między opcjami { NOINIT | INIT } i { NOSKIP | SKIP }.

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 multimediów, te operacje przesyłają opinię z informacją, ż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 MEDIANAME określono, sprawdza, czy dana nazwa nośnika jest zgodna z nazwą nośnika nagłówka nośnika. 1
  • Sprawdza, czy na nośniku nie ma już niewyświetłych zestawów kopii zapasowych. Jeśli tak jest, przerywa tworzenie kopii zapasowej.

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 nośnika, wygeneruje go przy użyciu określonych MEDIANAME wartości i MEDIADESCRIPTION, jeśli istnieje.
SKIP 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 2 nośnika, 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
  • Czuwanie
  • 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 MAXTRANSFERSIZEwiększe niż 65536 (64 KB) umożliwia zoptymalizowany algorytm kompresji dla zaszyfrowanych baz danych Transparent Data Encryption (TDE ), które najpierw odszyfrowują stronę, kompresują ją, a następnie szyfrują je ponownie. Jeśli MAXTRANSFERSIZE nie określono wartości lub MAXTRANSFERSIZE = 65536 jeśli (64 KB) jest używana, kompresja kopii zapasowej z zaszyfrowanymi bazami danych TDE bezpośrednio kompresuje zaszyfrowane strony i może nie zwracać 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 określono WITH COMPRESSION polecenie kopii zapasowej lub domyślna konfiguracja serwera kompresji kopii zapasowej jest ustawiona na 1, zostanie automatycznie zwiększona do 128 K, MAXTRANSFERSIZE aby włączyć zoptymalizowany algorytm. 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 , należy określić lub upewnić się, że domyślna konfiguracja serwera kompresji kopii zapasowej ma wartość 0.

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 Ustawianie flag śledzenia za pomocą funkcji TRACEON DBCC.

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, UPDATElub DELETE są dozwolone podczas operacji tworzenia kopii zapasowej.

Operacje, które nie mogą być uruchamiane podczas tworzenia kopii zapasowej bazy danych lub dziennika transakcji, obejmują:

  • Operacje zarządzania plikami, takie jak instrukcja ALTER DATABASE z opcjami ADD FILE lub REMOVE 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ę najpierw, druga operacja czeka na ustawienie limitu czasu dla blokady ustawionej przez pierwszą operację (okres limitu 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:

Po wykonaniu przywracania, jeśli zestaw kopii zapasowych nie został jeszcze zarejestrowany w msdb bazie danych, tabele historii kopii zapasowych mogą zostać zmodyfikowane.

Zabezpieczenia

Począwszy od programu SQL Server 2012 (11.x), opcje PASSWORD i MEDIAPASSWORD nie są tworzone. Nadal można przywrócić kopie zapasowe utworzone 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:

Nuta

Artykuły z instrukcjami tworzenia kopii zapasowej zawierają dodatkowe przykłady. Aby uzyskać więcej informacji, zobacz Omówienie kopii zapasowych (SQL Server).

Odp. Tworzenie kopii zapasowej pełnej bazy danych

Poniższy przykład wykonuje kopię zapasową bazy danych AdventureWorks2025 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 AdventureWorks2025, która domyślnie używa prostego modelu odzyskiwania. Aby obsługiwać kopie zapasowe dzienników, baza danych AdventureWorks2025 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, AdvWorksDatai 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

EXECUTE sp_addumpdevice 'disk', 'AdvWorksData', 'Z:\SQLServerBackups\AdvWorksData.bak';
GO

EXECUTE 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 AdventureWorks2025 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 AdventureWorks2025 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

NOINIT, który jest wartością domyślną, jest wyświetlany w tym miejscu, aby uzyskać czytelność.

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 AdventureWorks2025.

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 zapasowej i przywracanie programu SQL Server za pomocą usługi Azure Blob Storage oraz tworzenie kopii zapasowej programu SQL Server pod adresem URL usługi Azure Blob Storage.

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: SQL Server 2022 (16.x) i nowsze wersje.

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świadczeń nie jest wymagana w instrukcji lub do dopasowania dokładnej ścieżki adresu URL, ale wykonuje wyszukiwanie odpowiedniego poświadczenia w podanym adresie URL. Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowych 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 a.text AS query,
       start_time,
       percent_complete,
       dateadd(second, estimated_completion_time / 1000, getdate()) AS eta
FROM sys.dm_exec_requests AS r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS a
WHERE r.command LIKE 'BACKUP%';

* Zarządzana instancja SQL *  

 

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 BACKUP DATABASE ( kopia zapasowa danych) 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 }

Baza 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 = nazwę bazy danych) lub jako zmienną typu danych ciągu znaków, z wyjątkiem ntext lub typów danych tekstowych .

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ą wielu urządzeń podczas tworzenia kopii zapasowej adresu URL, należy użyć tokenów sygnatury dostępu współdzielonego (SAS). Przykłady tworzenia sygnatury dostępu współdzielonego można znaleźć w temacie 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

    Symbol zastępczy wskazujący, ż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

TYLKO_KOPIUJ

Określa, że kopia zapasowa jest kopią zapasową 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 kompresji kopii zapasowej. Aby uzyskać informacje na temat wyświetlania bieżącej wartości tej opcji, zobacz View or Change Server Properties.

  • KOMPRESJA

    Jawnie włącza kompresję kopii zapasowych.

  • NO_COMPRESSION

    Jawnie wyłącza kompresję kopii zapasowej.

OPIS = { 'tekst' | @text_variable }

Określa dowolny tekst opisujący zestaw kopii zapasowych. Ciąg może mieć maksymalnie 255 znaków.

NAZWA = { backup_set_name | @_backup|set_var }

Określa nazwę zestawu kopii zapasowych. Nazwy mogą mieć maksymalnie 128 znaków. Jeśli NAME nie zostanie określony, jest on pusty.

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 SKIP zostanie określona opcja, 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ż BACKUP 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) o rozmiarze do 4 194 304 bajtów (4 MB).

W przypadku baz danych z obsługą technologii Transparent Data Encryption (TDE) z pojedynczym plikiem danych wartość domyślna MAXTRANSFERSIZE to 65536 (64 KB). W przypadku nieszyfrowanych baz danych TDE wartość domyślna MAXTRANSFERSIZE to 1048576 (1 MB) podczas korzystania z kopii zapasowej w DISKsystemach i 65536 (64 KB) w przypadku korzystania z szyfrowania VDI lub TAPE.

Nuta

MAXTRANSFERSIZE określa największą jednostkę transferu i nie gwarantuje, że każda operacja zapisu przenosi określony największy rozmiar. MAXTRANSFERSIZE w przypadku operacji zapisu kopii zapasowych dziennika transakcji rozłożonych jest ustawiona 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

    Nakazuje BACKUP niepowodzenie, jeśli suma kontrolna strony nie zostanie zweryfikowana. Jest to zachowanie domyślne.

  • CONTINUE_AFTER_ERROR

    Nakazuje BACKUP kontynuowanie pomimo napotkania błędów, takich jak nieprawidłowe sumy kontrolne lub rozdarte strony.

Jeśli nie możesz utworzyć kopii zapasowej końca dziennika przy użyciu NO_TRUNCATE opcji, gdy baza danych jest uszkodzona, możesz spróbować utworzyć kopię zapasową dziennika końcowego , 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

Ponowne uruchomienie

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 opcją 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.

Zabezpieczenia

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

Przykład wykonuje kopię zapasową COPY_ONLYSales usługi 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;

usługi SQL Managed Instance

* 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 funkcją RESTORE DATABASE 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) tworzy 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.

OPIS = 'tekst'

Określa tekstowy opis kopii zapasowej. Maksymalna długość tekstu wynosi 255 znaków.

Opis jest przechowywany w metadanych i wyświetlany po przywróceniu nagłówka kopii zapasowej za pomocą RESTORE HEADERONLYpolecenia .

NAME = '_backup imię'

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 kończy się niepowodzeniem, jeśli backup_name już istnieje w określonej lokalizacji.

Ta nazwa jest przechowywana w metadanych i jest wyświetlana po przywróceniu nagłówka kopii zapasowej za pomocą RESTORE HEADERONLYpolecenia .

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 master można utworzyć kopii zapasowej bazy danych, 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

BACKUP DATABASE błędy 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 nie jest dostępny.
  • Docelowy udział sieciowy nie ma wystarczającej ilości miejsca do utworzenia 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 BACKUP DATABASEpolecenia . Gdy wystąpi niewystarczająca ilość miejsca na dysku, system platformy analizy (PDW) wycofa BACKUP DATABASE polecenie. Aby zmniejszyć rozmiar bazy danych, uruchom polecenie DBCC SHRINKLOG
  • Spróbuj uruchomić kopię zapasową w ramach transakcji.

Uwagi

Przed wykonaniem kopii zapasowej bazy danych użyj polecenia DBCC SHRINKLOG , 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 BACKUP polecenie, 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żna to śledzić przy użyciu WITH DESCRIPTION opcji dodawania opisu, a następnie przy użyciu RESTORE HEADERONLY instrukcji w celu pobrania opisu.

Ograniczenia

Nie można wykonać różnicowej kopii zapasowej master bazy danych. 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 .

Nie można użyć kopii zapasowej z instrukcją do transferu danych ani informacji o użytkowniku BACKUP DATABASE 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) kolejkuje polecenia 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 dla DATABASE obiektu.

Zabezpieczenia

Kopie zapasowe systemu platformy analizy (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 używane do uwierzytelniania systemu Analytics Platform System (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ą tworzone za pomocą BACKUP DATABASE polecenia .

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

Odp. 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) przechowuje 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 do wykonywania kopii zapasowych.

EXECUTE 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).

EXECUTE 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) tworzy Invoices2013 katalog i zapisuje pliki kopii zapasowej w \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full katalogu.

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) tworzy \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff katalog do przechowywania plików. Opis "Różnicowa kopia zapasowa faktur 2013" jest przechowywany z informacjami nagłówka kopii zapasowej.

Różnicowa kopia zapasowa jest uruchamiana 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 master bazy danych

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ą master bazy danych.

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'
)
;