Freigeben über


BACKUP (Transact-SQL)

Eine SQL-Datenbank wird gesichert.

Auswählen eines Produkts

Wählen Sie in der folgenden Zeile den Namen des Produkts aus, an dem Sie interessiert sind. Dann werden nur Informationen zu diesem Produkt angezeigt.

Weitere Informationen zu Syntaxkonventionen finden Sie unter Transact-SQL-Syntaxkonventionen.

* SQL Server *  

 

SQL Server

Dient zum Sichern einer vollständigen SQL Server-Datenbank zum Erstellen einer Datenbanksicherung oder einer oder mehrerer Dateien oder Dateigruppen der Datenbank zum Erstellen einer Dateisicherung (BACKUP DATABASE). Außerdem sichert das Transaktionsprotokoll der Datenbank unter dem vollständigen Wiederherstellungsmodell oder dem Massenwiederherstellungsmodell eine Protokollsicherung (BACKUP LOG).

Syntax

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

Argumente

DATENBANK

Gibt eine vollständige Datenbanksicherung an. Wird eine Liste von Dateien und Dateigruppen angegeben, werden nur diese Dateien und Dateigruppen gesichert. Während einer vollständigen oder differenziellen Datenbanksicherung werden von SQL Server auch die erforderlichen Teile des Transaktionsprotokolls gesichert, um eine konsistente Datenbank zu erzeugen, wenn die Sicherung wiederhergestellt wird.

Wenn Sie eine von (BACKUP DATABASE) erstellte Sicherung wiederherstellen, wird die gesamte Sicherung wiederhergestellt. Nur Protokollsicherungen können bis zu einem bestimmten Zeitpunkt oder bis zu einer bestimmten Transaktion in der Sicherung wiederhergestellt werden.

Hinweis

Für die master kann nur eine vollständige Datenbanksicherung ausgeführt werden.

PROTOKOLL

Gibt an, dass nur das Transaktionsprotokoll gesichert wird. Das Protokoll wird von der letzten erfolgreich ausgeführten Protokollsicherung bis zum aktuellen Ende des Protokolls gesichert. Bevor Sie die erste Protokollsicherung erstellen können, müssen Sie eine vollständige Sicherung erstellen.

Eine Protokollsicherung können Sie auf eine bestimmte Zeit oder Transaktion in der Sicherung wiederherstellen, indem Sie WITH STOPAT, STOPATMARK oder STOPBEFOREMARK in Ihrer RESTORE LOG-Anweisung angeben.

Hinweis

Nach einer normalen Protokollsicherung sind einige Transaktionsprotokolldatensätze inaktiv, sofern Sie nicht WITH NO_TRUNCATE oder COPY_ONLY angeben. Das Protokoll wird abgeschnitten, nachdem alle Datensätze innerhalb mindestens einer virtuellen Protokolldatei deaktiviert werden. Wenn das Protokoll nach Routineprotokollsicherungen nicht abgeschnitten wird, verzögert sich möglicherweise das Abschneiden des Protokolls. Weitere Informationen finden Sie in Faktoren, die die Protokollkürzung verzögern können.

GROUP (<Datenbank>, ... n)

Gilt für: SQL Server 2022 (16.x) und höhere Versionen.

Sichern Sie eine Gruppe von Datenbanken. Verwendet eine Momentaufnahmesicherung. Erfordert WITH METADATA_ONLY. Siehe Erstellen einer Transact-SQL-Momentaufnahmesicherung.

SERVER

Gilt für: SQL Server 2022 (16.x) und höhere Versionen.

Sichern Sie alle Datenbanken auf einer Instanz von SQL Server. Verwendet eine Momentaufnahmesicherung. Erfordert WITH METADATA_ONLY. Siehe Erstellen einer Transact-SQL-Momentaufnahmesicherung.

METADATA_ONLY

Gilt für: SQL Server 2022 (16.x) und höhere Versionen.

Erforderlich für eine Momentaufnahmesicherung. BACKUP SERVER oder BACKUP GROUP... Siehe Erstellen einer Transact-SQL-Momentaufnahmesicherung.

METADATA_ONLY ist synonym mit SNAPSHOT. Die virtuelle Geräteschnittstelle (VDI) verwendet SNAPSHOT. Informationen zu VDI finden Sie unter Virtual Device Interface-(VDI-)Referenz.

{ database_name | @database_name_var }

Die Datenbank, aus der das Transaktionsprotokoll, die Teildatenbank oder die vollständige Datenbank gesichert wird. Wenn er als Variable (@database_name_var) angegeben wird, kann dieser Name entweder als Zeichenfolgenkonstante (@database_name_var = Datenbankname) oder als Variable des Datentyps Zeichenfolgen angegeben werden, mit Ausnahme der Datentypen "ntext " oder "Text ".

Hinweis

Die Spiegeldatenbank in einer Datenbankspiegelungspartnerschaft kann nicht gesichert werden.

< > file_or_filegroup [ , ... n ]

Wird nur mit BACKUP DATABASE, gibt eine Datenbankdatei oder Dateigruppe an, die in eine Dateisicherung eingeschlossen werden soll, oder gibt eine schreibgeschützte Datei oder Dateigruppe an, die in eine partielle Sicherung eingeschlossen werden soll.

FILE = { logical_file_name | @logical_file_name_var }

Der logische Name einer Datei oder einer Variablen, deren Wert dem logischen Namen einer Datei entspricht, die in die Sicherung eingeschlossen werden soll.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Der logische Name einer Dateigruppe oder einer Variablen, deren Wert dem logischen Namen einer Dateigruppe entspricht, die in die Sicherung eingeschlossen werden soll. Beim einfachen Wiederherstellungsmodell wird die Dateigruppensicherung nur für eine schreibgeschützte Dateigruppe unterstützt.

Hinweis

Verwenden Sie Dateisicherungen dann, wenn eine Datenbanksicherung aufgrund der Datenbankgröße und aufgrund von Leistungsanforderungen nicht möglich ist. Das NUL-Gerät kann verwendet werden, um die Leistung von Sicherungen zu testen, sollte aber nicht in Produktionsumgebungen verwendet werden.

  • n

    Ein Platzhalter, der angibt, dass mehrere Dateien und Dateigruppen in einer durch Trennzeichen getrennten Liste angegeben werden können. Für die Anzahl gibt es keine Einschränkungen.

Weitere Informationen finden Sie unter Vollständige Dateisicherungen (SQL Server) und Sichern von Dateien und Dateigruppen.

READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } [ , ... n ] ]

Gibt eine Teilsicherung an. Eine Teilsicherung umfasst alle Dateien mit Lese-/Schreibzugriff in einer Datenbank: die primäre Dateigruppe und alle beliebigen sekundären Dateigruppen mit Lese-/Schreibzugriff sowie auch alle angegebenen schreibgeschützten Dateien oder Dateigruppen.

READ_WRITE_FILEGROUPS

Gibt an, dass alle Dateigruppen mit Lese-/Schreibzugriff in der Teilsicherung gesichert werden sollen. Wenn die Datenbank schreibgeschützt ist, umfasst READ_WRITE_FILEGROUPS nur die primäre Dateigruppe.

Wichtig

Explizites Auflisten der Lese-/Schreibdateigruppen mithilfe FILEGROUP von READ_WRITE_FILEGROUPS erstellt eine Dateisicherung.

  • FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

    Der logische Name einer schreibgeschützten Dateigruppe oder einer Variablen, deren Wert dem logischen Namen einer schreibgeschützten Dateigruppe entspricht, die in die partielle Sicherung einbezogen werden soll. Weitere Informationen finden Sie unter <file_or_filegroup> weiter oben in diesem Artikel.

  • n

    Ein Platzhalter, der angibt, dass mehrere schreibgeschützte Dateigruppen in einer durch Trennzeichen getrennten Liste angegeben werden können.

    Weitere Informationen zu partiellen Sicherungen finden Sie unter Partielle Sicherungen (SQL Server).

TO <backup_device> [ , ... n ]

Gibt an, dass der zugehörige Satz von Sicherungsgeräten entweder ein bewunderter Mediensatz oder der erste der Spiegel in einem gespiegelten Mediensatz ist (für den mindestens eine MIRROR TO Klausel deklariert wird).

<backup_device>

Gibt ein logisches oder physisches Sicherungsmedium an, das für den Sicherungsvorgang verwendet werden soll.

{ logical_device_name | @logical_device_name_var }

Gilt für: SQL Server.

Der logische Name des Sicherungsgeräts, auf dem die Datenbank gesichert ist. Der logische Name muss den Regeln für Bezeichner entsprechen. Wenn sie als Variable (@logical_device_name_var) angegeben wird, kann der Name des Sicherungsgeräts entweder als Zeichenfolgenkonstante (@logical_device_name_var = Name des logischen Sicherungsgeräts) oder als Variable eines beliebigen Zeichenfolgendatentyps mit Ausnahme des Datentyps "ntext " oder "Text " angegeben werden.

{ DISK | BAND | URL} = { 'physical_device_name' | @physical_device_name_var | 'NUL' }

Gilt für: SQL Server.

Gibt eine Datenträgerdatei, ein Bandmedium oder eine URL an.

Das URL-Format wird zum Erstellen von Sicherungen in Microsoft Azure Blob Storage oder einem S3-kompatiblen Objektspeicher verwendet. Weitere Informationen und Beispiele finden Sie hier:

Sie können microsoft Azure Blob Storage mit einer verwalteten Identität sichern, beginnend mit:

Hinweis

Das NUL-Datenträgergerät verwirft alle an sie gesendeten Informationen und sollte nur für Tests verwendet werden. Dies ist nicht für die Produktionsverwendung vorgesehen.

Wichtig

Ab SQL Server 2012 (11.x) SP1 CU2 bis SQL Server 2014 (12.x) können Sie beim Sichern der URL für Azure Blob Storage nur auf einem einzelnen Gerät sichern. Um beim Sichern der URL auf mehreren Geräten zu sichern, müssen Sie SQL Server 2016 (13.x) und höher verwenden, und Sie müssen SAS-Token (Shared Access Signature) verwenden. Beispiele zum Erstellen einer Signatur für freigegebenen Zugriff finden Sie unter SQL Server-Sicherung zu URL für Azure Blob Storage und Vereinfachen der Erstellung von SQL-Anmeldeinformationen mit SAS-Token (Shared Access Signature) in Azure Storage mit PowerShell.

Ein Datenträgergerät muss nicht vorhanden sein, bevor es in einer BACKUP Anweisung angegeben wird. Wenn das physische Gerät vorhanden ist und die INIT Option in der BACKUP Anweisung nicht angegeben ist, wird die Sicherung an das Gerät angefügt.

Das NUL-Gerät verwirft alle an diese Datei gesendeten Eingaben, die Sicherung markiert jedoch weiterhin alle Seiten als gesichert.

Weitere Informationen finden Sie unter Backup Devices (SQL Server).For more information, see Backup Devices (SQL Server).

Hinweis

Die TAPE Option wird in einer zukünftigen Version von SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

  • n

    Ein Platzhalter, der angibt, dass bis zu 64 Sicherungsgeräte in einer durch Trennzeichen getrennten Liste angegeben werden können.

SPIEGEL AUF <backup_device> [ , ... n ]

Gibt einen Satz von bis zu drei sekundären Sicherungsgeräten an, die jeweils die in der TO Klausel angegebenen Sicherungsgeräte spiegeln. Die MIRROR TO Klausel muss denselben Typ und dieselbe Anzahl der Sicherungsgeräte wie die TO Klausel angeben. Die maximale Anzahl von MIRROR TO Klauseln ist drei.

Diese Option ist nur in der Enterprise Edition von SQL Server verfügbar.

Hinweis

MIRROR TO = DISK Bestimmt automatisch BACKUPdie entsprechende Blockgröße für Datenträgergeräte basierend auf der Sektorgröße des Datenträgers. Wenn der Datenträger mit einer anderen Sektorgröße formatiert ist als der MIRROR TO datenträger, der als primäres Sicherungsgerät angegeben ist, schlägt der Sicherungsbefehl fehl. Damit Sicherungen auf Geräte mit unterschiedlichen Branchengrößen gespiegelt werden können, muss der BLOCKSIZE Parameter angegeben werden und auf die höchste Sektorgröße aller Zielgeräte festgelegt werden. Weitere Informationen zur Blockgröße finden Sie weiter unten in diesem Artikel unter "BLOCKSIZE".

<backup_device>

Informationen finden Sie unter „<backup_device>“ weiter oben in diesem Abschnitt.

  • n

    Ein Platzhalter, der angibt, dass bis zu 64 Sicherungsgeräte in einer durch Trennzeichen getrennten Liste angegeben werden können. Die Anzahl der Geräte in der MIRROR TO Klausel muss der Anzahl der Geräte in der TO Klausel entsprechen.

    Weitere Informationen finden Sie unter Medienfamilien in gespiegelten Mediensätzen weiter unten in diesem Artikel.

  • [ Nebenseite des Spiegels ]

    Ein Platzhalter, der angibt, dass eine einzelne BACKUP Anweisung zusätzlich zur einzelnen MIRROR TO Klausel bis zu drei TO Klauseln enthalten kann.

WITH-Optionen

Gibt die Optionen an, die bei einem Sicherungsvorgang verwendet werden sollen.

BERECHTIGUNGSNACHWEIS

Gilt für: SQL Server.

Wird nur beim Erstellen einer Sicherung für Azure Blob Storage verwendet.

DATEI_SCHNAPPSCHUSS

Gilt für: SQL Server 2016 (13.x) und höhere Versionen.

Wird zum Erstellen einer Azure-Momentaufnahme der Datenbankdateien verwendet, wenn alle SQL Server-Datenbankdateien unter Verwendung von Azure Blob Storage gespeichert werden. Weitere Informationen finden Sie unter SQL Server-Datendateien in Microsoft Azure. SQL Server Die Momentaufnahmesicherung erstellt Azure-Momentaufnahmen der Datenbankdateien (Daten- und Protokolldateien) in einem konsistenten Zustand. Ein konsistenter Satz von Azure-Momentaufnahmen bildet zusammen eine Sicherung und wird in der Sicherungsdatei aufgezeichnet. Der einzige Unterschied zwischen BACKUP DATABASE TO URL WITH FILE_SNAPSHOT und BACKUP LOG TO URL WITH FILE_SNAPSHOT ist, dass letzteres auch das Transaktionsprotokoll abschneidet, während der frühere nicht. Bei SQL Server Momentaufnahmesicherung ist nur eine Transaktionsprotokollsicherung erforderlich, um eine Datenbank auf den Zeitpunkt der Transaktionsprotokollsicherung wiederherzustellen, nachdem die erste vollständige, von SQL Server für die Einrichtung der Sicherungskette vorausgesetzte Sicherung durchgeführt wurde. Darüber hinaus sind nur zwei Sicherungen des Transaktionsprotokolls erforderlich, um eine Datenbank auf einen Zeitpunkt zwischen den beiden Transaktionsprotokollsicherungen wiederherstellen.

Differential

Wird nur mit BACKUP DATABASE, gibt an, dass die Datenbank oder Dateisicherung nur aus den Teilen der Datenbank oder Datei bestehen soll, die seit der letzten vollständigen Sicherung geändert wurde. Eine differenzielle Sicherung benötigt in der Regel weniger Speicherplatz als eine vollständige Sicherung. Verwenden Sie diese Option, damit alle einzelnen Protokollsicherungen, die seit der letzten vollständigen Sicherung ausgeführt wurden, nicht angewendet werden müssen.

Hinweis

Standardmäßig erstellt BACKUP DATABASE eine vollständige Sicherung.

Weitere Informationen finden Sie unter Differenzielle Sicherungen (SQL Server).

VERSCHLÜSSELUNG

Wird verwendet, um die Verschlüsselung für eine Sicherung anzugeben. Sie können einen Verschlüsselungsalgorithmus angeben, um die Sicherung zu verschlüsseln, oder NO_ENCRYPTION angeben, um die Sicherung nicht zu verschlüsseln. Die Verschlüsselung wird empfohlen, um Sicherungsdateien zu sichern. Die Liste der Algorithmen, die Sie angeben können:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

Wenn Sie sich für die Verschlüsselung entscheiden, müssen Sie auch den Verschlüsselnden mithilfe der Verschlüsselungsoptionen angeben:

  • SERVER CERTIFICATE = Encryptor_Name
  • SERVER ASYMMETRIC KEY = Encryptor_Name

Bei SERVER CERTIFICATE und SERVER ASYMMETRIC KEY handelt es sich um ein Zertifikat und einen asymmetrischen Schlüssel, die in der master-Datenbank erstellt wurden. Weitere Informationen finden Sie unter CREATE CERTIFICATE und CREATE ASYMMETRISCHER SCHLÜSSEL .

Warnung

Wenn die Verschlüsselung mit dem FILE_SNAPSHOT Argument verwendet wird, wird die Metadatendatei selbst mit dem angegebenen Verschlüsselungsalgorithmus verschlüsselt und das System überprüft, ob die transparente Datenverschlüsselung (Transparent Data Encryption, TDE) für die Datenbank abgeschlossen wurde. Für die Daten selbst erfolgt keine zusätzliche Verschlüsselung. Die Sicherung schlägt fehl, wenn die Datenbank nicht verschlüsselt wurde oder die Verschlüsselung nicht abgeschlossen wurde, bevor die Sicherungsausweisung ausgestellt wurde.

Sicherungssatzoptionen

Diese Optionen werden für den durch diesen Sicherungsvorgang erstellten Sicherungssatz verwendet.

Hinweis

Verwenden Sie die Option FILE = <backup_set_file_number>, um einen Sicherungssatz für einen Wiederherstellungsvorgang anzugeben. Weitere Informationen zum Angeben eines Sicherungssatzes finden Sie in RESTORE-Argumente unter „Angeben eines Sicherungssatzes“.

Nur kopieren

Gibt an, dass es sich bei der Sicherung um eine kopiegeschützte Sicherung handelt, die sich nicht auf die normale Abfolge von Sicherungen auswirkt. Eine Kopiesicherung wird unabhängig von den regelmäßig geplanten konventionellen Sicherungen erstellt. Eine Nur-Kopie-Sicherung wirkt sich nicht auf die gesamten Sicherungs- und Wiederherstellungsprozeduren für die Datenbank aus.

Kopiesicherungen sollten in Situationen verwendet werden, in denen eine Sicherung für einen besonderen Zweck verwendet wird, z. B. zum Sichern des Protokolls vor einer Onlinedateiwiederherstellung. In der Regel wird eine Kopieprotokollsicherung einmal verwendet und dann gelöscht.

  • Bei Verwendung mit BACKUP DATABASEdieser COPY_ONLY Option wird eine vollständige Sicherung erstellt, die nicht als differenzielle Basis dienen kann. Die differenzielle Bitmap wird nicht aktualisiert, und differenzielle Sicherungen verhalten sich so, als ob die kopiegeschützte Sicherung nicht vorhanden ist. Nachfolgende differenzielle Sicherungen verwenden die neueste, konventionelle vollständige Sicherung als Basis.

    Wichtig

    Wenn DIFFERENTIAL und COPY_ONLY zusammen verwendet werden, wird COPY_ONLY ignoriert, und eine differenzielle Sicherung wird erstellt.

  • Bei Verwendung mit BACKUP LOGdieser COPY_ONLY Option wird eine kopiegeschützte Protokollsicherung erstellt, wodurch das Transaktionsprotokoll nicht abgeschnitten wird. Die Kopie-Nur-Protokollsicherung wirkt sich nicht auf die Protokollkette aus, und andere Protokollsicherungen verhalten sich so, als ob die kopiegeschützte Sicherung nicht vorhanden ist.

Weitere Informationen finden Sie unter "Nur Kopieren"-Sicherungen.

[ KOMPRIMIERUNG [ ( ALGORITHMUS = { MS_XPRESS | ZSTD | accelerator_algorithm } [ , LEVEL = { LOW | MITTEL | HIGH } ] ] | NO_COMPRESSION ]

Gibt an, ob für diese Sicherung eine Sicherungskomprimierung verwendet wird, wodurch die Standardeinstellung auf Serverebene überschrieben wird.

Die Sicherungskomprimierung wird bei der Installation standardmäßig deaktiviert. Diese Standardeinstellung kann jedoch durch Festlegen der Serverkonfigurationsoption backup compression default geändert werden. Informationen zum Anzeigen des aktuellen Werts dieser Option finden Sie unter Anzeigen oder Ändern von Servereigenschaften (SQL Server).

Informationen zur Verwendung der Sicherungskomprimierung mit aktivierten TDE-Datenbanken (Transparent Data Encryption) finden Sie im Abschnitt "Hinweise ".

Der ZSTD-Kompressionsalgorithmus ist ab SQL Server 2025 (17.x) verfügbar.

  • Kompression

    Aktiviert die Sicherungskomprimierung explizit.

  • NO_COMPRESSION

    Deaktiviert die Sicherungskomprimierung explizit.

  • NIVEAU

    Gilt für: SQL Server 2022 (16.x) und höhere Versionen.

    Dies ist ein optionaler Parameter, der die Komprimierungsebene angibt. Betrifft ALGORITHM = MS_EXPRESS, und, beginnend mit SQL Server 2025 (17.x), ALGORITHM = ZSTD.

    Zulässige Werte sind:

    • LOW (Standardwert)
    • MEDIUM
    • HIGH
  • ALGORITHMUS

    Gilt für: SQL Server 2022 (16.x) und höhere Versionen.

    ZSTD und MS_EXPRESS sind Algorithmen auf Softwareebene. QAT_DEFLATE ist hardwarebasierter Algorithmus, der Intel® QuickAssist Technology (QAT) für SQL Server erfordert. Der Standardwert ist MS_XPRESS.

    Um den in SQL Server 2025 eingeführten ZSTD-Kompressionsalgorithmus (17.x) zu verwenden:

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

    Wenn Sie Integrierte Beschleunigung und Abladung konfiguriert haben, können Sie einen von der Lösung bereitgestellten Beschleuniger verwenden. Wenn Sie beispielsweise " Integrierte Beschleunigung konfigurieren und entladen" konfiguriert haben, schließt das folgende Beispiel die Sicherung mit der Schnellinfolösung mit der QATzip-Bibliothek mit QZ_DEFLATE der Komprimierungsebene 1 ab.

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

    Beispielverhalten:

    Backup-Anweisung Ergebnis
    BACKUP DATABASE database_name ZU {DISK | TAPE | URL} MIT NO_COMPRESSION Sicherung ohne Komprimierung
    BACKUP DATABASE database_name ZU {DISK | TAPE | URL} MIT KOMPRIMIERUNG Sicherung mit Komprimierung mithilfe des durch die Serveroption backup compression algorithm angegebenen Algorithmus (Standard MS_XPRESS)
    BACKUP DATABASE database_name ZU {DISK | TAPE | URL} MIT KOMPRIMIERUNG (ALGORITHMUS = MS_XPRESS) Sicherung mit Komprimierung mit MS_XPRESS Algorithmus
    BACKUP DATABASE database_name ZU {DISK | TAPE | URL} MIT KOMPRIMIERUNG (ALGORITHMUS = ZSTD) Sicherung mit Komprimierung mithilfe des ZSTD-Algorithmus.
    BACKUP DATABASE database_name ZU {DISK | TAPE | URL} MIT KOMPRIMIERUNG (ALGORITHMUS = ZSTD, LEVEL = HOCH) Sicherung mit Komprimierung mithilfe des ZSTD-Algorithmus mit Komprimierungsebene HIGH.

BESCHREIBUNG = { 'text' | @text_variable }

Gibt den freien Text an, der als Beschreibung des Sicherungssatzes verwendet wird. Die Zeichenfolge kann maximal 255 Zeichen haben.

NAME = { backup_set_name | @backup_set_var }

Gibt den Namen des Sicherungssatzes an. Namen können maximal 128 Zeichen haben. Wenn NAME nicht angegeben, ist sie leer.

{ EXPIREDATE = 'date' | RETAINDAYS = Tage }

Gibt an, wann der Sicherungssatz für diese Sicherung überschrieben werden kann. Wenn diese Optionen beide verwendet werden, RETAINDAYS hat Vorrang EXPIREDATE.

Wenn keine der Optionen angegeben wird, wird das Ablaufdatum durch die Konfigurationseinstellung media retention bestimmt. Weitere Informationen finden Sie unter Serverkonfigurationsoptionen.

Wichtig

Diese Optionen verhindern nur, dass SQL Server eine Datei überschreibt. Bänder können mit anderen Methoden gelöscht werden, und Dateien auf einem Datenträger können mit entsprechenden Betriebssystembefehlen gelöscht werden. Weitere Informationen zur Ablaufüberprüfung finden Sie in diesem Artikel unter SKIP und FORMAT.

  • EXPIREDATE = { 'date' | @date_var }

    Gibt an, wann der Sicherungssatz abläuft und überschrieben werden kann. Wenn sie als Variable (@date_var) angegeben wird, muss dieses Datum dem konfigurierten Systemdatumsformat folgen und als einer der folgenden Werte angegeben werden:

    • Eine Zeichenfolgenkonstante (@date_var = Datum)
    • Eine Variable mit einem Zeichenfolgen-Datentyp (mit Ausnahme der Datentypen ntext oder text)
    • Eine smalldatetime-Variable
    • Eine datetime-Variable

    Beispiel:

    • 'Dec 31, 2020 11:59 PM'
    • '1/1/2021'

    Informationen zum Angeben von Datums-und Uhrzeitwerten finden Sie unter Datums- und Uhrzeittypen.

    Hinweis

    Zum Ignorieren des Ablaufdatums verwenden Sie die Option SKIP.

  • RETAINDAYS = { Tage | @days_var }

    Gibt die Anzahl von Tagen an, die verstreichen müssen, bevor dieser Sicherungsmediensatz überschrieben werden kann. Wenn sie als Variable (@days_var) angegeben wird, muss sie als ganze Zahl angegeben werden.

{ METADATA_ONLY | SNAPSHOT }

Gilt für: SQL Server 2022 (16.x) und höhere Versionen.

METADATA_ONLY und SNAPSHOT sind Synonyme.

Mediensatzoptionen

Diese Optionen werden für den Mediensatz insgesamt verwendet.

{ NOINIT | INIT }

Steuert, ob der Sicherungsvorgang an die vorhandenen Sicherungssätze auf dem Sicherungsmedium angefügt wird oder diese überschreibt. Der Standardwert ist das Anfügen an den neuesten Sicherungssatz auf dem Medium (NOINIT).

Hinweis

Informationen zu den Interaktionen zwischen { } und { NOINIT | INITNOSKIP | SKIP}finden Sie weiter unten in diesem Artikel.

  • NOINIT

    Zeigt an, dass der Sicherungssatz an den angegebenen Mediensatz angehängt wird, wobei vorhandene Sicherungssätze erhalten bleiben. Wenn für den Mediensatz ein Medienkennwort definiert ist, muss dieses Kennwort angegeben werden. NOINIT ist der Standardwert.

    Weitere Informationen finden Sie unter Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).

  • ANFANG

    Gibt an, dass alle Sicherungssätze überschrieben werden sollen, während der Medienheader erhalten bleibt. Wenn INIT angegeben, wird ein vorhandener Sicherungssatz auf diesem Gerät überschrieben, falls bedingungen zulassen. Sucht standardmäßig BACKUP nach den folgenden Bedingungen und überschreibt das Sicherungsmedium nicht, wenn eine der bedingungen vorhanden ist:

    • Ein Sicherungssatz ist noch nicht abgelaufen. Weitere Informationen finden Sie unter EXPIREDATE und RETAINDAYS.
    • Der in der BACKUP Anweisung angegebene Sicherungssatzname stimmt ggf. nicht mit dem Namen auf dem Sicherungsmedium überein. Weitere Informationen finden Sie in der NAME Option weiter oben in diesem Abschnitt.

    Verwenden Sie die Option SKIP, um diese Überprüfungen zu überschreiben.

    Weitere Informationen finden Sie unter Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).

{ NOSKIP | ÜBERSPRINGEN }

Steuert, ob ein Sicherungsvorgang das Ablaufdatum und die Ablaufzeit der Sicherungssätze auf dem Medium überprüft, bevor diese überschrieben werden.

Hinweis

Informationen zu den Interaktionen zwischen { } und { NOINIT | INITNOSKIP | SKIP}finden Sie weiter unten in diesem Artikel.

  • NOSKIP

    Weist die BACKUP Anweisung an, das Ablaufdatum aller Sicherungssätze auf dem Medium zu überprüfen, bevor sie überschrieben werden können. Dies ist das Standardverhalten.

  • HÜPFEN

    Deaktiviert die Überprüfung des Ablaufs und des Namens des Sicherungssatzes, der in der Regel von der BACKUP Anweisung ausgeführt wird, um Zuschreibungen von Sicherungssätzen zu verhindern. Informationen zu den Interaktionen zwischen { } und { INIT | NOINITNOSKIP | SKIP}finden Sie weiter unten in diesem Artikel.

    Um die Ablaufdaten von Sicherungssätzen anzuzeigen, fragen Sie die expiration_date Spalte der Sicherungssatzverlaufstabelle ab.

{ NOFORMAT | FORMAT }

Gibt an, dass der Medienheader auf alle Volumes geschrieben werden soll, die für diesen Sicherungsvorgang verwendet werden. Dabei werden vorhandene Medienheader und Sicherungssätze überschrieben.

  • NOFORMAT

    Gibt an, dass der Sicherungsvorgang die vorhandenen Medienheader und Sicherungssätze auf den Medienvolumes beibehält, die für diesen Vorgang verwendet werden. Dies ist das Standardverhalten.

  • Format

    Gibt an, dass ein neuer Mediensatz erstellt werden kann. FORMAT bewirkt, dass vom Sicherungsvorgang ein neuer Medienheader auf alle Medienvolumes geschrieben wird, die für den Sicherungsvorgang verwendet werden. Der vorhandene Inhalt des Volumes wird ungültig, da alle vorhandenen Medienheader und Sicherungssätze überschrieben werden.

    Wichtig

    Verwenden Sie FORMAT mit Bedacht. Die Formatierung von Volumes eines Mediensatzes führt dazu, dass der gesamte Mediensatz nicht mehr verwendet werden kann. Wird beispielsweise ein einzelnes Band initialisiert, das zu vorhandenen Stripesetmedien gehört, führt dies dazu, dass der gesamte Mediensatz unbrauchbar wird.

    Die Angabe von FORMAT impliziert SKIP; SKIP muss nicht explizit angegeben werden.

MEDIADESCRIPTION = { text | @text_variable }

Gibt die Freiform-Textbeschreibung des Mediensatzes an. Diese kann aus maximal 255 Zeichen bestehen.

MEDIANAME = { media_name | @media_name_variable }

Gibt den Mediennamen für den gesamten Sicherungsmediensatz an. Der Medienname darf nicht länger als 128 Zeichen sein. Wird MEDIANAME angegeben, muss dieser Name dem vorher angegebenen Mediennamen auf den Sicherungsvolumes entsprechen. Wenn sie nicht angegeben ist oder die SKIP Option angegeben ist, gibt es keine Überprüfung des Mediennamens.

BLOCKSIZE = { blocksize | @blocksize_variable }

Legt die physische Blockgröße in Bytes fest. Die unterstützten Größen sind 512, 1024, 2048, 4096, 8192, 16.384, 32.768 und 65.536 (64 KB) Bytes. Der Standardwert ist 65.536 für Bandmedien und andernfalls 512. In der Regel ist diese Option unnötig, da BACKUP automatisch eine Blockgröße ausgewählt wird, die für das Gerät geeignet ist. Mit der expliziten Angabe einer Blockgröße wird die automatische Wahl der Blockgröße überschrieben.

Wenn Sie eine Sicherung erstellen, die Sie auf eine CD-ROM kopieren und wiederherstellen möchten, geben Sie folgendes an BLOCKSIZE = 2048.

Hinweis

Diese Option hat i. d. R. nur dann Auswirkungen auf die Leistung, wenn auf Bandmedien geschrieben wird.

Datenübertragungsoptionen

BUFFERCOUNT = { buffercount | @buffercount_variable }

Gibt die Gesamtanzahl von E/A-Puffern an, die für den Sicherungsvorgang verwendet werden sollen. Sie können eine beliebige positive ganze Zahl angeben. Eine große Pufferanzahl kann jedoch wegen eines ungeeigneten virtuellen Adressraumes im Prozess Sqlservr.exe zu Fehlern aufgrund von nicht genügend Arbeitsspeicher führen.

Der gesamte von den Puffern belegte Speicherplatz wird durch BUFFERCOUNT * MAXTRANSFERSIZE bestimmt.

Die Erhöhung BUFFERCOUNT kann die Sicherungszeit erheblich reduzieren, um die Speicherauslastung zu erhöhen.

Hinweis

Wichtige Informationen zur Verwendung der BUFFERCOUNT-Option finden Sie im Blogeintrag Falsche BufferCount-Datenübertragungsoption kann OOM-Bedingung auslösen.

MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

Gibt die größte zu verwendende Übertragungseinheit zwischen SQL Server und dem Sicherungsmedium in Bytes an. Die möglichen Werte sind Vielfache von 65536 Bytes (64 KB) von bis zu 4.194.304 Bytes (4 MB). In einem bestimmten Fall der Sicherung zu URL zu S3-kompatiblem Objektspeicher beträgt MAXTRANSFERSIZE 10 MB. Weitere Informationen finden Sie unter Anmerkungen.

Wenn die Datenbank FILESTREAM (SQL Server) konfiguriert hat oder speicheroptimierte Dateigruppen enthält, sollten sie MAXTRANSFERSIZE beim Erstellen der Sicherung beim Erstellen der Sicherung sicherungen bei der Erstellung von Sicherungen sicherungen größer oder gleich dem wert sein, der MAXTRANSFERSIZE beim Erstellen der Sicherung verwendet wurde.

Für transparente Datenverschlüsselung (TDE) aktivierte Datenbanken mit einer einzelnen Datendatei beträgt der Standardwert MAXTRANSFERSIZE 65536 (64 KB). Bei nicht-TDE-verschlüsselten Datenbanken wird standardmäßig MAXTRANSFERSIZE 1048576 (1 MB) bei Verwendung der Sicherung DISKauf und 65536 (64 KB) bei Verwendung von VDI oder TAPE65536 (64 KB) verwendet. Weitere Informationen zur Verwendung der Sicherungskomprimierung mit TDE-verschlüsselten Datenbanken finden Sie im Abschnitt Hinweise.

Fehlerverwaltungsoptionen

Mit diesen Optionen können Sie bestimmen, ob Sicherungsprüfsummen für den Sicherungsvorgang aktiviert werden und ob der Vorgang beim Auftreten eines Fehlers beendet wird.

{ NO_CHECKSUM | PRÜFSUMME }

Steuert, ob Sicherungsprüfsummen aktiviert sind.

  • NO_CHECKSUM

    Das Generieren von Sicherungsprüfsummen (und die Überprüfung von Seitenprüfsummen) wird explizit deaktiviert. Dies ist das Standardverhalten.

  • PRÜFSUMME

    Gibt an, dass der Sicherungsvorgang jede Seite auf Prüfsumme und zerrissene Seiten überprüft (wenn aktiviert und verfügbar) und eine Prüfsumme für die gesamte Sicherung generiert.

Die Verwendung von Sicherungsprüfsummen wirkt sich möglicherweise auf Workload und Sicherungsdurchsatz aus.

Weitere Informationen finden Sie unter Mögliche Medienfehler während der Sicherung und Wiederherstellung (SQL Server).

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Steuert, ob ein Sicherungsvorgang beendet oder fortgesetzt wird, nachdem ein Fehler bei der Seitenprüfsumme aufgetreten ist.

  • STOP_ON_ERROR

    Weist BACKUP an, fehlschlagen, wenn eine Seitenprüfsumme nicht überprüft wird. Dies ist das Standardverhalten.

  • FORTSETZEN_NACH_FEHLER

    Weist an BACKUP , trotz auftretender Fehler wie ungültige Prüfsummen oder gerissene Seiten weiterzufahren.

Wenn Sie den Tail des Protokolls nicht sichern können, indem Sie die NO_TRUNCATE Option verwenden, wenn die Datenbank beschädigt ist, können Sie eine Sicherung des Tail-Log-Protokolls versuchen, indem CONTINUE_AFTER_ERROR Sie anstelle von NO_TRUNCATE.

Weitere Informationen finden Sie unter Mögliche Medienfehler während der Sicherung und Wiederherstellung (SQL Server).

Kompatibilitätsoptionen

NEUSTARTEN

Hat keinerlei Auswirkungen. Diese Option wird von der Version zur Kompatibilität mit SQL Server 2005 Analysis Services (SSAS) akzeptiert.

Überwachungsoptionen

STATS [ = Prozentsatz ]

Zeigt nach jedem abgeschlossenen Prozentsatz eine Meldung an und wird als Statusanzeige verwendet. Wird Prozentsatz nicht angegeben, zeigt SQL Server jedes Mal eine Meldung an, wenn weitere 10 Prozent des Vorgangs abgeschlossen sind.

Mit STATS der Option wird der Prozentsatz abgeschlossen, der als Schwellenwert für die Meldung des nächsten Intervalls abgeschlossen ist. Dies liegt ungefähr bei dem angegebenen Prozentsatz; Wenn der Betrag beispielsweise STATS = 1040 Prozent beträgt, zeigt die Option möglicherweise 43 Prozent an. Bei großen Sicherungssätzen ist dies kein Problem, da der Prozentsatz der abgeschlossenen E/A-Aufrufe sehr langsam zwischen abgeschlossenen E/A-Aufrufen verschoben wird.

Bandoptionen

Diese Optionen werden nur für TAPE Geräte verwendet. Diese Optionen werden ignoriert, wenn ein anderes Medium als ein Bandmedium verwendet wird.

{ RÜCKSPULE | NOREWIND }

  • ZURÜCKSPULEN

    Gibt an, dass SQL Server das Band freigeben und zurückspulen soll. REWIND ist der Standardwert.

  • NOREWIND

    Gibt an, dass SQL Server das Band nach dem Sicherungsvorgang geöffnet hält. Diese Option trägt zur Leistungsverbesserung bei, wenn mehrere Sicherungsvorgänge auf einem Band ausgeführt werden.

    NOREWIND impliziert NOUNLOAD, und diese Optionen sind in einer einzigen BACKUP Anweisung nicht kompatibel.

    Hinweis

    Bei Verwendung NOREWINDbehält die Instanz von SQL Server den Besitz des Bandlaufwerks bei, bis eine oder BACKUP eine RESTORE Anweisung, die im selben Prozess ausgeführt wird, entweder die REWIND Option oder UNLOAD die Serverinstanz heruntergefahren wird. Ein Offenhalten des Bandes verhindert, dass andere Prozesse auf das Band zugreifen können. Informationen zum Anzeigen einer Liste offener Bänder und zum Schließen eines offenen Bandes finden Sie unter Backup Devices (SQL Server).For information about how to display a list of open tapes and to close an open tape, see Backup Devices (SQL Server).

{ ENTLADEN | NOUNLOAD }

Hinweis

UNLOAD und NOUNLOAD sind Sitzungseinstellungen, die für die Lebensdauer der Sitzung oder bis zum Zurücksetzen beibehalten werden, indem Sie die Alternative angeben.

  • ENTLADEN

    Gibt an, dass das Band automatisch zurückgespult und ausgeworfen wird, wenn die Sicherung vollständig ausgeführt ist. UNLOAD ist die Standardeinstellung, wenn eine Sitzung beginnt.

  • NOUNLOAD

    Gibt an, dass nach dem BACKUP Vorgang das Band auf dem Bandlaufwerk geladen bleibt.

Hinweis

Beim Sichern auf einem Bandsicherungsmedium wirkt sich die Option BLOCKSIZE auf die Leistung des Sicherungsvorgangs aus. Diese Option hat i. d. R. nur dann Auswirkungen auf die Leistung, wenn auf Bandmedien geschrieben wird.

Protokollspezifische Optionen

Diese Optionen werden nur mit BACKUP LOG verwendet.

Hinweis

Wenn Sie keine Protokollsicherungen erstellen möchten, verwenden Sie das einfache Wiederherstellungsmodell. Weitere Informationen finden Sie unter Wiederherstellungsmodelle (SQL Server).

{ NORECOVERY | STANDBY = undo_file_name }

  • NORECOVERY

    Sichert das Protokollfragment und belässt die Datenbank im RESTORING-Status. NORECOVERY ist nützlich, wenn ein Failover zu einer sekundären Datenbank oder beim Speichern des Tails des Protokolls vor einem RESTORE Vorgang hilfreich ist.

    Zum Ausführen einer Protokollsicherung, bei der die Protokollkürzung ausgelassen wird und die Datenbank automatisch den Status RESTORING erhält, verwenden Sie die Optionen NO_TRUNCATE und NORECOVERY zusammen.

  • STANDBY = standby_file_name

    Sichert den Tail des Protokolls und hinterlässt die Datenbank in einem schreibgeschützten Zustand STANDBY . Die STANDBY Klausel schreibt Standbydaten (Durchführen eines Rollbacks, aber mit der Option weiterer Wiederherstellungen). Die Verwendung der STANDBY Option entspricht BACKUP LOG WITH NORECOVERY dem gefolgt von einer RESTORE WITH STANDBY.

    Wenn der Standbymodus verwendet wird, ist eine Standbydatei erforderlich, die mit standby_file_name angegeben wird und deren Speicherort im Protokoll der Datenbank gespeichert wird. Wenn die angegebene Datei bereits vorhanden ist, überschreibt das Datenbankmodul sie; wenn die Datei nicht vorhanden ist, erstellt das Datenbankmodul sie. Die Standbydatei wird Teil der Datenbank.

    Diese Datei enthält die zurückgesetzten Änderungen, die rückgängig gemacht werden müssen, wenn RESTORE LOG Vorgänge anschließend angewendet werden sollen. Es muss ausreichend Speicherplatz für die Vergrößerung der Standbydatei vorhanden sein, damit diese Datei alle Seiten aus der Datenbank enthalten kann, die durch das Rollback für die Transaktionen ohne Commit geändert wurden.

NO_TRUNCATE

Gibt an, dass das Transaktionsprotokoll nicht abgeschnitten werden soll und bewirkt, dass das Datenbankmodul unabhängig vom Status der Datenbank die Sicherung versucht. Daher könnte eine Sicherung, die mit NO_TRUNCATE unvollständigen Metadaten erstellt wurde, enthalten. Diese Option ermöglicht es, das Transaktionsprotokoll auch dann zu sichern, wenn die Datenbank beschädigt ist.

Die NO_TRUNCATE Option ist BACKUP LOG gleichbedeutend mit der Angabe von beiden COPY_ONLY und CONTINUE_AFTER_ERROR.

Ohne die NO_TRUNCATE Option muss sich die Datenbank im ONLINE Zustand befinden. Wenn die Datenbank im SUSPENDED-Status ist, können Sie möglicherweise durch die Angabe von NO_TRUNCATE eine Sicherung erstellen. Wenn sich die Datenbank jedoch im OFFLINE Zustand befindet EMERGENCY , BACKUP ist dies auch nicht zulässig NO_TRUNCATE. Weitere Informationen zu Datenbankstatus finden Sie unter Datenbankstatus.

Informationen zum Arbeiten mit SQL Server-Sicherungen

In diesem Abschnitt werden die folgenden grundlegenden Sicherungskonzepte erläutert:

SicherungstypenKürzung des TransaktionsprotokollsFormatieren von SicherungsmedienArbeiten mit Sicherungsmedien und MediensätzenWiederherstellen von SQL Server-Sicherungen

Hinweis

Eine Einführung in die Sicherung in SQL Server finden Sie in der Übersicht über die Sicherung (SQL Server).

Sicherungstypen

Die unterstützten Sicherungstypen sind vom Wiederherstellungsmodell der Datenbank abhängig, und zwar wie folgt:

  • Alle Wiederherstellungsmodelle unterstützen vollständige und differenzielle Sicherungen von Daten.

    Umfang der Sicherung Sicherungstypen
    Gesamte Datenbank Datenbanksicherungen umfassen die gesamte Datenbank.

    Optional kann jede Datenbanksicherung als Basis einer Serie von einer oder mehreren differenziellen Datenbanksicherungen dienen.
    Teilweise Datenbanksicherung Teilsicherungen umfassen Dateigruppen mit Lese-/Schreibzugriff und möglicherweise mindestens eine schreibgeschützte Datei oder Dateigruppe.

    Optional kann jede Teilsicherung als Basis einer Serie von einer oder mehreren differenziellen Teilsicherungen dienen.
    Datei oder Dateigruppe Dateisicherungen umfassen mindestens eine Datei oder Dateigruppe und sind nur für Datenbanken relevant, in denen mehrere Dateigruppen enthalten sind. Beim einfachen Wiederherstellungsmodell werden Dateisicherungen im Wesentlichen auf schreibgeschützte sekundäre Dateigruppen beschränkt.
    Optional kann jede Dateisicherung als Basis einer Serie von einer oder mehreren differenziellen Dateisicherungen dienen.
  • Beim vollständigen oder massenprotokollierten Wiederherstellungsmodell enthalten die herkömmlichen Sicherungen auch sequentielle Transaktionsprotokollsicherungen (oder Protokollsicherungen), die erforderlich sind. Jede Protokollsicherung umfasst den Teil des Transaktionsprotokolls, der beim Erstellen der Sicherung aktiv war, und enthält alle Protokolldatensätze, die in einer vorherigen Protokollsicherung nicht gesichert wurden.

    Wenn Sie die Gefahr eines Datenverlusts minimieren und den damit verbundenen höheren Verwaltungsaufwand in Kauf nehmen möchten, sollten Sie häufige Protokollsicherungen planen. Wenn Sie zwischen vollständigen Sicherungen differenzielle Sicherungen planen, kann dies die Wiederherstellungszeit verkürzen, da Sie nach dem Wiederherstellen der Daten nur eine geringe Anzahl von Protokollsicherungen wiederherstellen müssen.

    Es empfiehlt sich, Protokollsicherungen auf einem anderen Volume als die Datenbanksicherungen zu speichern.

    Hinweis

    Bevor Sie die erste Protokollsicherung erstellen können, müssen Sie eine vollständige Sicherung erstellen.

  • Eine Kopiesicherung ist eine besondere vollständige Sicherung oder Protokollsicherung, die von der normalen Sequenz konventioneller Sicherungen unabhängig ist. Wenn Sie eine kopiegeschützte Sicherung erstellen möchten, geben Sie die COPY_ONLY Option in Ihrer BACKUP Anweisung an. Weitere Informationen finden Sie unter "Nur Kopieren"-Sicherungen.

Kürzung des Transaktionsprotokolls

Um das schnelle Auffüllen des Transaktionsprotokolls einer Datenbank zu vermeiden, sind routinemäßige Sicherungen von entscheidender Bedeutung. Die Protokollkürzung erfolgt beim einfachen Wiederherstellungsmodell automatisch, wenn die Datenbank gesichert wurde, und beim vollständigen Wiederherstellungsmodell, wenn das Transaktionsprotokoll gesichert wurde. Manchmal kann der Kürzungsprozess jedoch verzögert werden. Informationen zu Faktoren, die das Abschneiden von Protokollen verzögern können, finden Sie im Transaktionsprotokoll.

Hinweis

Die Optionen BACKUP LOG WITH NO_LOG und WITH TRUNCATE_ONLY werden nicht mehr unterstützt. Wenn Sie die vollständige oder massenprotokolliert Wiederherstellungsmodellwiederherstellung verwenden und die Protokollsicherungskette aus einer Datenbank entfernen müssen, wechseln Sie zum einfachen Wiederherstellungsmodell. Weitere Informationen finden Sie unter Anzeigen oder Ändern des Wiederherstellungsmodells einer Datenbank (SQL Server).

Formatieren von Sicherungsmedien

Sicherungsmedien werden von einer BACKUP Anweisung formatiert, wenn eine der folgenden Werte zutrifft:

  • Die Option FORMAT wird angegeben.
  • Das Medium ist leer.
  • Mit dem Vorgang wird ein Anschlussband geschrieben.

Arbeiten mit Sicherungsgeräten und Mediensätzen

Sicherungsmedien in Stripesetmedien

Bei einem Stripeset handelt es sich um eine Gruppe von Datenträgerdateien, für die die Daten in Blöcke aufgeteilt und in einer festen Reihenfolge verteilt werden. Die Anzahl der in einem Stripeset verwendeten Sicherungsmedien muss gleich bleiben (es sei denn, die Medien werden mit FORMAT neu initialisiert).

Im folgenden Beispiel wird eine Sicherung der AdventureWorks2025-Datenbank in ein neues Stripesetmedium geschrieben, für das drei Datenträgerdateien verwendet werden.

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

Nachdem ein Sicherungsgerät als Teil eines Stripe-Satzes definiert wurde, kann es nicht für eine Einzelgerätesicherung verwendet werden, es sei denn, FORMAT ist angegeben. Auf ähnliche Weise kann ein Sicherungsgerät, das nicht überstreifente Sicherungen enthält, nicht in einem Stripesatz verwendet werden, es sei denn, FORMAT ist angegeben. Verwenden Sie FORMAT, um einen im Stripesetformat vorliegenden Sicherungssatz zu teilen.

Wenn beide MEDIANAME oder MEDIADESCRIPTION nicht angegeben werden, wenn eine Medienkopfzeile geschrieben wird, ist das Medienkopffeld, das dem leeren Element entspricht, leer.

Arbeiten mit einem gespiegelten Mediensatz

In der Regel werden Sicherungen nicht bewundert, und BACKUP Anweisungen enthalten einfach eine TO Klausel. Pro Mediensatz sind jedoch insgesamt vier Spiegel möglich. Bei einem gespiegelten Mediensatz schreibt der Sicherungsvorgang in mehrere Gruppen von Sicherungsmedien. Jede Gruppe von Sicherungsmedien umfasst einen einzelnen Spiegel im gespiegelten Mediensatz. Jede Spiegelung muss dieselbe Anzahl und denselben Typ von physischen Sicherungsmedien verwenden, die alle über dieselben Eigenschaften verfügen müssen.

Zum Sichern eines gespiegelten Mediensatzes müssen alle Spiegel vorhanden sein. Zum Sichern eines gespiegelten Mediensatzes geben Sie die TO-Klausel an, um den ersten Spiegel anzugeben, und geben Sie eine MIRROR TO-Klausel für jeden zusätzlichen Spiegel an.

Für einen gespiegelten Mediensatz muss jede MIRROR TO Klausel die gleiche Anzahl und den gleichen Gerätetyp wie die TO Klausel auflisten. Im folgenden Beispiel wird in einen gespiegelten Mediensatz geschrieben, der zwei Spiegel enthält und drei Medien pro Spiegel verwendet:

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

Wichtig

Dieses Beispiel wurde so entwickelt, dass Sie es auf Ihrem lokalen System testen können. In der Praxis würde das Sichern auf mehreren Medien desselben Laufwerks die Leistung beeinträchtigen und die Redundanz zunichte machen, für die gespiegelte Mediensätze entwickelt wurden.

Medienfamilien in gespiegelten Mediensätzen

Jedes in der TO Klausel einer BACKUP Anweisung angegebene Sicherungsgerät entspricht einer Medienfamilie. Wenn die TO Klausel beispielsweise drei Geräte auflistet, BACKUP werden Daten in drei Medienfamilien geschrieben. In einem gespiegelten Mediensatz muss jeder Spiegel eine Kopie jeder Medienfamilie enthalten. Aus diesem Grund muss die Anzahl der Medien in jedem Spiegel identisch sein.

Wenn für jeden Spiegel mehrere Medien aufgeführt sind, bestimmt die Reihenfolge der Medien, welche Medienfamilie in ein bestimmtes Medium geschrieben wird. In jeder Medienliste entspricht beispielsweise das zweite Medium der zweiten Medienfamilie. Für die Geräte im vorherigen Beispiel wird die Korrespondenz zwischen Geräten und Medienfamilien in der folgenden Tabelle angezeigt.

Spiegel Medienfamilie 1 Medienfamilie 2 Medienfamilie 3
0 Z:\AdventureWorks1a.bak Z:\AdventureWorks2a.bak Z:\AdventureWorks3a.bak
1 Z:\AdventureWorks1b.bak Z:\AdventureWorks2b.bak Z:\AdventureWorks3b.bak

Eine Medienfamilie muss immer auf dem gleichen Gerät innerhalb eines bestimmten Spiegels gesichert werden. Daher müssen Sie bei Verwendung eines vorhandenen Mediensatzes jedes Mal die Medien eines Spiegels in derselben Reihenfolge wie beim Erstellen des Mediensatzes aufführen.

Weitere Informationen zu gespiegelten Mediensätzen finden Sie unter Mirrored Backup Media Sets (SQL Server). Weitere Informationen zu Mediensätzen und Medienfamilien im Allgemeinen finden Sie unter Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).

Wiederherstellen von SQL Server-Sicherungen

Sie können die RESTORE-Anweisung von Transact-SQL oder die Restore-Tasks von SQL Server Management Studio verwenden, um eine Datenbank wiederherzustellen und optional wieder online zu schalten, oder um eine Datei oder Dateigruppe wiederherzustellen. Weitere Informationen finden Sie unter Übersicht über Wiederherstellung und Wiederherstellung (SQL Server).

Weitere Überlegungen zu BACKUP-Optionen

Interaktion von SKIP, NOSKIP, INIT und NOINIT

In dieser Tabelle werden die Interaktionen zwischen den Optionen { NOINIT | INIT } und { NOSKIP | SKIP } beschrieben.

Hinweis

Wenn das Bandmedium leer ist oder die Datenträgersicherungsdatei nicht vorhanden ist, schreiben alle diese Interaktionen einen Medienheader, und fahren Sie fort. Wenn die Medien nicht leer sind und kein gültiger Medienheader vorhanden ist, geben diese Vorgänge Feedback, dass dies kein gültiges MTF-Medium ist, und sie beenden den Sicherungsvorgang.

Skip-Option NOINIT INIT
NOSKIP Überprüft, wenn das Volume einen gültigen Medienheader enthält, ob der Medienname mit dem angegebenen MEDIANAME (sofern vorhanden) übereinstimmt. Wenn dies der Fall ist, wird der Sicherungssatz angefügt, wobei alle vorhandenen Sicherungssätze beibehalten werden.
Wenn das Volume keinen gültigen Medienheader enthält, tritt ein Fehler auf.
Wenn das Volume einen gültigen Medienheader enthält, werden die folgenden Überprüfungen durchgeführt:
  • Wenn MEDIANAME angegeben, wird überprüft, ob der angegebene Medienname mit dem Mediennamen der Medienkopfzeile übereinstimmt. 1
  • Stellt sicher, dass auf dem Medium keine noch nicht abgelaufenen Sicherungssätze vorhanden sind. Wenn solche vorhanden sind, wird die Sicherung beendet.

Wenn diese Überprüfungen erfolgreich sind, werden alle Sicherungssätze auf dem Medium überschrieben, und nur der Medienheader wird beibehalten.
Wenn das Volume keinen gültigen Medienheader enthält, wird eins mit angegebener MEDIANAME und MEDIADESCRIPTION, falls vorhanden, generiert.
SKIP Wenn das Volume einen gültigen Medienheader enthält, wird der Sicherungssatz angefügt. Alle vorhandenen Sicherungssätze werden beibehalten. Wenn das Volume einen gültigen 2 Medienheader enthält, werden alle Sicherungssätze auf dem Medium überschrieben, wobei nur die Medienkopfzeile beibehalten wird.
Wenn das Medium leer ist, wird ein Medienheader mithilfe der Optionen MEDIANAME und MEDIADESCRIPTION (sofern vorhanden) generiert.

1 Damit der Benutzer einen Sicherungsvorgang ausführen kann, muss er den entsprechenden festen Datenbank- oder Serverrollen angehören.

2 Zur Gültigkeit gehören die MTF-Versionsnummer und andere Headerinformationen. Wenn die angegebene Version nicht unterstützt wird oder einen unerwarteten Wert hat, tritt ein Fehler auf.

Kompatibilität

Achtung

Sicherungen, die mit neuerer Version von SQL Server erstellt werden, können in früheren Versionen von SQL Server nicht wiederhergestellt werden.

BACKUP unterstützt die RESTART Option zur Abwärtskompatibilität mit früheren Versionen von SQL Server. Hat aber RESTART keine Wirkung.

Hinweise

Datenbank- oder Protokollsicherungen können an das Ende jedes beliebigen Datenträgers oder Bandmediums angefügt werden. Damit ist es möglich, eine Datenbank und ihre Transaktionsprotokolle an einem einzelnen physischen Speicherort unterzubringen.

Die BACKUP Anweisung ist in einer expliziten oder impliziten Transaktion nicht zulässig.

Sie können eine Datenbank nicht in den folgenden Zuständen sichern:

  • Wiederherstellen
  • Reserve
  • Schreibgeschützt

Sicherungsvorgänge über Plattformen hinweg, sogar zwischen unterschiedlichen Prozessortypen, können ausgeführt werden, solange die Sortierung der Datenbank vom Betriebssystem unterstützt wird.

Ab SQL Server 2016 (13.x) ermöglicht die Einstellung MAXTRANSFERSIZEgrößer als 65536 (64 KB) einen optimierten Komprimierungsalgorithmus für TDE-verschlüsselte Datenbanken, die zuerst eine Seite entschlüsseln, komprimieren und dann erneut verschlüsseln. Wenn MAXTRANSFERSIZE nicht angegeben oder MAXTRANSFERSIZE = 65536 (64 KB) verwendet wird, komprimiert die Sicherungskomprimierung mit TDE-verschlüsselten Datenbanken die verschlüsselten Seiten direkt und liefert möglicherweise keine guten Komprimierungsverhältnisse. Weitere Informationen finden Sie unter Backup Compression for TDE-enabled Databases (Sicherungskomprimierung für TDE-fähige Datenbanken).

Ab SQL Server 2019 (15.x) CU5 muss MAXTRANSFERSIZE nicht mehr festgelegt werden, um diesen optimierten Komprimierungsalgorithmus mit TDE zu aktivieren. Wenn der Sicherungsbefehl angegeben WITH COMPRESSION ist oder die Standardkonfiguration des Sicherungskomprimierungsservers auf 1 festgelegt ist, wird automatisch auf 128 K erhöht, MAXTRANSFERSIZE um den optimierten Algorithmus zu aktivieren. Wenn MAXTRANSFERSIZE für den Sicherungsbefehl mit dem Wert > 64 K angegeben wird, wird der angegebene Wert berücksichtigt. Mit anderen Worten, SQL Server nimmt den Wert nie automatisch ab, erhöht ihn nur. Wenn Sie eine TDE-verschlüsselte Datenbank mit MAXTRANSFERSIZE = 65536 sichern müssen, müssen Sie WITH NO_COMPRESSION angeben oder sicherstellen, dass die Serverkonfiguration backup compression default auf 0 festgelegt ist.

Hinweis

In einigen Fällen ist die Standardeinstellung von MAXTRANSFERSIZE größer als 64 KB:

  • Wenn die Datenbank mehrere Datendateien erstellt hat, wird MAXTRANSFERSIZE> 64.000 verwendet.
  • Wenn die Sicherung über eine URL in Azure Blob Storage erfolgt, lautet die Standardeinstellung MAXTRANSFERSIZE = 1048576 (1 MB).
  • Beim Ausführen der Sicherung zu EINER URL zum S3-kompatiblen Objektspeicher wird der Standardwert (10 MB) verwendet MAXTRANSFERSIZE = 10485760 .

Auch wenn eine dieser Bedingungen zutrifft, müssen Sie in Ihrem Sicherungsbefehl explizit mehr als 64 KB festlegen MAXTRANSFERSIZE , um den optimierten Sicherungskomprimierungsalgorithmus abzurufen, es sei denn, Sie befinden sich auf SQL Server 2019 (15.x) CU5 oder höher.

Standardmäßig wird bei jedem erfolgreichen Sicherungsvorgang dem SQL Server -Fehlerprotokoll und dem Systemereignisprotokoll ein Eintrag hinzugefügt. Wenn Sie das Protokoll regelmäßig sichern, kann die Anzahl dieser Erfolgsmeldungen schnell ansteigen, sodass sehr große Fehlerprotokolle entstehen, die das Suchen nach anderen Meldungen erschweren können. In solchen Fällen können Sie diese Protokolleinträge mit dem Ablaufverfolgungsflag 3226 unterdrücken, wenn keine Ihrer Automatisierungen oder Überwachungen von diesen Einträgen abhängen. Weitere Informationen finden Sie unter Festlegen von Ablaufverfolgungskennzeichnungen mit DBCC TRACEON.

Interoperabilität

SQL Server verwendet einen Onlinesicherungsprozess, um das Ausführen einer Datenbanksicherung zu ermöglichen, während die Datenbank weiterhin verwendet wird. Während einer Sicherung sind die meisten Vorgänge möglich; Beispielsweise INSERTUPDATEDELETE sind Anweisungen während eines Sicherungsvorgangs zulässig.

Vorgänge, die während einer Datenbank- oder Transaktionsprotokollsicherung nicht ausgeführt werden können, umfassen:

  • Dateiverwaltungsvorgänge, wie z.B. die ALTER DATABASE-Anweisung mit der Option ADD FILE oder REMOVE FILE.

  • Vorgänge zum Verkleinern der Datenbank oder von Dateien. Dazu gehören auch Vorgänge zum automatischen Verkleinern.

Wenn sich ein Sicherungsvorgang mit einer Dateiverwaltung oder DBCC SHRINK einem Vorgang überlappt, tritt ein Konflikt auf. Unabhängig davon, welcher konfliktierende Vorgang zuerst begonnen hat, wartet der zweite Vorgang auf das Timeout des ersten Vorgangs (der Timeoutzeitraum wird durch eine Sitzungstimeouteinstellung gesteuert). Wenn die Sperre während des Timeoutzeitraums freigegeben wird, wird der zweite Vorgang fortgesetzt. Wenn das Timeout für die Sperre eintritt, erzeugt der zweite Vorgang einen Fehler.

Metadaten

In SQL Server sind folgende Tabellen mit Sicherungsverläufen enthalten, in denen Sicherungsaktivitäten nachverfolgt werden:

Wenn eine Wiederherstellung ausgeführt wird, wenn der Sicherungssatz noch nicht in der msdb Datenbank aufgezeichnet wurde, werden die Sicherungsverlaufstabellen möglicherweise geändert.

Sicherheit

Ab SQL Server 2012 (11.x) werden die Optionen PASSWORD und MEDIAPASSWORD nicht mehr für die Erstellung von Sicherungen verwendet. Es ist weiterhin möglich, sicherungen wiederherzustellen, die mit Kennwörtern erstellt wurden.

Berechtigungen

Mitglieder der festen Serverrolle BACKUP DATABASE und der festen Datenbankrollen BACKUP LOG und db_backupoperator verfügen standardmäßig über - und -Berechtigungen.

Besitz- und Berechtigungsprobleme im Zusammenhang mit der physischen Datei des Sicherungsmediums können den Sicherungsvorgang beeinträchtigen. Stellen Sie sicher, dass das SQL Server-Startkonto über Lese- und Schreibberechtigungen für das Sicherungsmedium und den Ordner verfügt, in den die Sicherungsdateien geschrieben werden. Sp_addumpdevice, der einen Eintrag für ein Sicherungsgerät in den Systemtabellen hinzufügt, überprüft jedoch keine Dateizugriffsberechtigungen. Solche Probleme mit der physischen Datei des Sicherungsmediums treten möglicherweise erst auf, wenn auf die physische Ressource zugegriffen wird, um einen Sicherungs- oder Wiederherstellungsvorgang auszuführen.

Beispiele

Dieser Abschnitt enthält folgende Beispiele:

Hinweis

Die Artikel zum Sichern von Anleitungen enthalten zusätzliche Beispiele. Weitere Informationen finden Sie in der Übersicht über die Sicherung (SQL Server).

Ein. Sichern einer vollständigen Datenbank

Im folgenden Beispiel wird die AdventureWorks2025-Datenbank in einer Datenträgerdatei gesichert.

BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH FORMAT;
GO

B. Sichern der Datenbank und des Protokolls

Im folgenden Beispiel wird die AdventureWorks2025-Beispieldatenbank gesichert, in der standardmäßig das einfache Wiederherstellungsmodell verwendet wird. Zum Unterstützen der Protokollsicherungen wird die AdventureWorks2025-Datenbank für die Verwendung des vollständigen Wiederherstellungsmodells geändert.

Im Beispiel wird sp_addumpdevice verwendet, um ein logisches Sicherungsmedium zum Sichern von Daten zu erstellen, AdvWorksData, und ein anderes logisches Sicherungsmedium zum Sichern des Protokolls, AdvWorksLog, wird erstellt.

Im Beispiel wird eine vollständige Datenbanksicherung in AdvWorksData erstellt, und nach einer Updateaktivität wird das Protokoll in AdvWorksLog gesichert.

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

Hinweis

Für eine Produktionsdatenbank sollte das Protokoll regelmäßig gesichert werden. Protokollsicherungen sollten möglichst häufig ausgeführt werden, damit ein ausreichender Schutz vor Datenverlusten besteht.

C. Erstellen einer vollständigen Dateisicherung der sekundären Dateigruppen

Im folgenden Beispiel wird eine vollständige Dateisicherung von jeder Datei der beiden sekundären Dateigruppen erstellt.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
    FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2'
    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck';
GO

D: Erstellen einer differenziellen Dateisicherung der sekundären Dateigruppen

Im folgenden Beispiel wird eine differenzielle Dateisicherung von jeder Datei der beiden sekundären Dateigruppen erstellt.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2'
TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
WITH DIFFERENTIAL;
GO

E. Erstellen und Sichern eines gespiegelten Mediensatzes mit einer Familie

Im folgenden Beispiel wird ein gespiegelter Mediensatz erstellt, der eine einzelne Medienfamilie und vier Spiegel umfasst. Auf diese wird die AdventureWorks2025-Datenbank gesichert.

BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH FORMAT, MEDIANAME = 'AdventureWorksSet0';

F. Erstellen und Sichern einer multiamily gespiegelten Mediengruppe

Im folgenden Beispiel wird ein gespiegelter Mediensatz erstellt, in dem jeder Spiegel zwei Medienfamilien enthält. Im Beispiel wird dann die AdventureWorks2025-Datenbank auf beide Spiegel gesichert.

BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH FORMAT, MEDIANAME = 'AdventureWorksSet1';

G. Sichern eines vorhandenen gespiegelten Mediensatzes

Im folgenden Beispiel wird ein Sicherungssatz an den Mediensatz angefügt, der im vorherigen Beispiel erstellt wurde.

BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH NOINIT, MEDIANAME = 'AdventureWorksSet1';

Hinweis

NOINIT, dies ist die Standardeinstellung, wird hier zur Übersichtlichkeit angezeigt.

H. Erstellen einer komprimierten Sicherung in einem neuen Mediensatz

Im folgenden Beispiel wird das Medium formatiert, wobei ein neuer Mediensatz angelegt wird, und eine vollständige, komprimierte Sicherung der AdventureWorks2025-Datenbank wird erstellt.

BACKUP DATABASE AdventureWorks2022
    TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
    WITH FORMAT, COMPRESSION;

Ich. Sichern von Microsoft Azure Blob Storage

In diesem Beispiel wird eine vollständige Datenbanksicherung von Sales Azure Blob Storage ausgeführt. Der Speicherkontoname lautet mystorageaccount. Der Container heißt myfirstcontainer. Eine gespeicherte Zugriffsrichtlinie wurde bereits mit Lese-, Schreib-, Lösch- und Listenrechten erstellt. Die Anmeldeinformation SQL Serverhttps://mystorageaccount.blob.core.windows.net/myfirstcontainer wurde mit einer Shared Access Signature (SAS) erstellt, die der gespeicherten Zugriffsrichtlinie zugeordnet ist. Informationen zur SQL Server-Sicherung in Azure Blob Storage finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Azure Blob Storage und SQL Server-Sicherung zu URL für Azure Blob Storage.

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales.bak'
WITH STATS = 5;

Sie können Ihre Datenbank auch in mehreren Streifen sichern und wie folgt aussehen:

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. Sichern des S3-kompatiblen Objektspeichers

Gilt für: SQL Server 2022 (16.x) und höhere Versionen.

In diesem Beispiel wird eine vollständige Sicherung der Sales-Datenbank auf einer S3-kompatiblen Objektspeicherplattform durchgeführt. Der Name der Anmeldeinformationen ist in der Anweisung nicht erforderlich oder entspricht dem genauen URL-Pfad, führt jedoch eine Suche nach den richtigen Anmeldeinformationen für die bereitgestellte URL aus. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von SQL Server mit S3-kompatiblem Objektspeicher.

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. Überwachen des Fortschritts von BACKUP-Anweisungen

Die folgende Abfrage gibt Informationen zu den aktuell ausgeführten BACKUP-Anweisungen zurück:

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

* SQL Managed Instance *  

 

Verwaltete Azure SQL-Instanz

Diese sichert eine SQL-Datenbank-Instanz in Azure SQL Managed Instance. Azure SQL Managed Instance umfasst automatische Sicherungen. Sie können vollständige COPY_ONLY-Datenbanksicherungen erstellen. Differenzielle Sicherungen, Protokoll- und Dateimomentaufnahmen werden nicht unterstützt.

Gilt auch für SQL-verwaltete Instanz, die von Azure Arc aktiviert sind.

Syntax

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

Argumente

DATENBANK

Gibt eine vollständige Datenbanksicherung an. Während einer Datenbanksicherung sichert Azure SQL Managed Instance einen ausreichenden Anteil des Transaktionsprotokolls, um eine konsistente Datenbank zu erstellen, wenn die Sicherung wiederhergestellt wird.

Wichtig

Eine Datenbanksicherung, die auf einer verwalteten Instanz erstellt wurde, kann nur auf einer anderen Instanz von Azure SQL Managed Instance oder auf einer SQL Server 2022-Instanz wiederhergestellt werden. Dies liegt daran, dass SQL Managed Instance im Vergleich zu anderen SQL Server-Versionen eine höhere interne Datenbankversion verwendet. Weitere Informationen finden Sie unter Wiederherstellen einer SQL Managed Instance-Datenbanksicherung auf SQL Server 2022.

Wenn Sie eine von (BACKUP DATABASE) erstellte Sicherung wiederherstellen, wird die gesamte Sicherung wiederhergestellt. Informationen zur Wiederherstellung aus automatischen Sicherungen von SQL Managed Instance finden Sie unter Wiederherstellen einer Datenbank in Azure SQL Managed Instance.

{ database_name | @database_name_var }

Die Datenbank, aus der die vollständige Datenbank gesichert wird. Wenn er als Variable (@database_name_var) angegeben wird, kann dieser Name entweder als Zeichenfolgenkonstante (@database_name_var = Datenbankname) oder als Variable des Datentyps Zeichenfolgen angegeben werden, mit Ausnahme der Datentypen "ntext " oder "Text ".

Weitere Informationen finden Sie unter Vollständige Dateisicherungen und Sichern von Dateien und Dateigruppen.

ZU-URL

Gibt die URL an, die für den Sicherungsvorgang verwendet werden soll. Das URL-Format wird zum Erstellen von Sicherungen in Microsoft Azure Storage verwendet.

Wichtig

Um beim Sichern der URL auf mehreren Geräten zu sichern, müssen Sie SAS-Token (Shared Access Signature) verwenden. Beispiele zum Erstellen einer Signatur für freigegebenen Zugriff finden Sie unter SQL Server-Sicherung zu URL und Vereinfachen der Erstellung von SQL-Anmeldeinformationen mit SAS-Token (Shared Access Signature) in Azure Storage mit PowerShell.

  • n

    Ein Platzhalter, der angibt, dass bis zu 64 Sicherungsgeräte in einer durch Trennzeichen getrennten Liste angegeben werden können.

WITH-Optionen

Gibt die Optionen an, die bei einem Sicherungsvorgang verwendet werden sollen.

VERSCHLÜSSELUNG

Wird verwendet, um die Verschlüsselung für eine Sicherung anzugeben. Sie können einen Verschlüsselungsalgorithmus angeben, um die Sicherung zu verschlüsseln, oder NO_ENCRYPTION angeben, um die Sicherung nicht zu verschlüsseln. Die Verschlüsselung wird empfohlen, um Sicherungsdateien zu sichern. Die Liste der Algorithmen, die Sie angeben können:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

Wenn Sie sich für die Verschlüsselung entscheiden, müssen Sie auch den Verschlüsselnden mithilfe der Verschlüsselungsoptionen angeben:

  • SERVER CERTIFICATE = <Encryptor_Name>
  • SERVER ASYMMETRIC KEY = <Encryptor_Name>

Sicherungssatzoptionen

Nur kopieren

Gibt an, dass es sich bei der Sicherung um eine kopiegeschützte Sicherung handelt, die sich nicht auf die normale Abfolge von Sicherungen auswirkt. Eine Kopiesicherung wird unabhängig von automatischen Azure SQL-Datenbank-Sicherungen erstellt. Weitere Informationen finden Sie unter Kopiesicherungen.

{ KOMPRIMIERUNG | NO_COMPRESSION }

Gibt an, ob für diese Sicherung eine Sicherungskomprimierung verwendet wird, wodurch die Standardeinstellung auf Serverebene überschrieben wird.

Die Sicherungskomprimierung wird standardmäßig deaktiviert. Diese Standardeinstellung kann jedoch durch Festlegen der Serverkonfigurationsoption backup compression default geändert werden. Informationen zum Anzeigen des aktuellen Werts dieser Option finden Sie unter Anzeigen oder Ändern von Servereigenschaften.

  • Kompression

    Aktiviert die Sicherungskomprimierung explizit.

  • NO_COMPRESSION

    Deaktiviert die Sicherungskomprimierung explizit.

BESCHREIBUNG = { 'text' | @text_variable }

Gibt den freien Text an, der als Beschreibung des Sicherungssatzes verwendet wird. Die Zeichenfolge kann maximal 255 Zeichen haben.

NAME = { backup_set_name | @_backup| set_var }

Gibt den Namen des Sicherungssatzes an. Namen können maximal 128 Zeichen haben. Wenn NAME nicht angegeben, ist sie leer.

MEDIADESCRIPTION = { text | @text_variable }

Gibt die Freiform-Textbeschreibung des Mediensatzes an. Diese kann aus maximal 255 Zeichen bestehen.

MEDIANAME = { media_name | @media_name_variable }

Gibt den Mediennamen für den gesamten Sicherungsmediensatz an. Der Medienname darf nicht mehr als 128 Zeichen umfassen. Wird MEDIANAME angegeben, muss dieser Name dem vorher angegebenen Mediennamen auf den Sicherungsvolumes entsprechen. Wenn sie nicht angegeben ist oder die SKIP Option angegeben ist, gibt es keine Überprüfung des Mediennamens.

BLOCKSIZE = { blocksize | @blocksize_variable }

Legt die physische Blockgröße in Bytes fest. Die unterstützten Größen sind 512, 1024, 2048, 4096, 8192, 16.384, 32.768 und 65.536 (64 KB) Bytes. Der Standardwert ist 65.536 für Bandmedien und andernfalls 512. In der Regel ist diese Option unnötig, da BACKUP automatisch eine Blockgröße ausgewählt wird, die für das Gerät geeignet ist. Mit der expliziten Angabe einer Blockgröße wird die automatische Wahl der Blockgröße überschrieben.

Datenübertragungsoptionen

BUFFERCOUNT = { buffercount | @buffercount_variable }

Gibt die Gesamtanzahl von E/A-Puffern an, die für den Sicherungsvorgang verwendet werden sollen. Sie können eine beliebige positive ganze Zahl angeben. Eine große Pufferanzahl kann jedoch wegen eines ungeeigneten virtuellen Adressraumes im Prozess Sqlservr.exe zu Fehlern aufgrund von nicht genügend Arbeitsspeicher führen.

Der gesamte von den Puffern belegte Speicherplatz wird durch BUFFERCOUNT * MAXTRANSFERSIZE bestimmt.

Hinweis

Wichtige Informationen zur Verwendung der BUFFERCOUNT Option finden Sie im Blogbeitrag Falsche BufferCount-Datenübertragungsoption, die zu einer OOM-Bedingung führen kann.

MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

Gibt die größte zu verwendende Übertragungseinheit zwischen SQL Server und dem Sicherungsmedium in Bytes an. Die möglichen Werte sind Vielfache von 65536 Bytes (64 KB) von bis zu 4.194.304 Bytes (4 MB).

Für transparente Datenverschlüsselung (TDE) aktivierte Datenbanken mit einer einzelnen Datendatei beträgt der Standardwert MAXTRANSFERSIZE 65536 (64 KB). Bei nicht TDE-verschlüsselten Datenbanken ist die Standardeinstellung MAXTRANSFERSIZE 1048576 (1 MB) bei Verwendung der Sicherung DISKauf und 65536 (64 KB) bei Verwendung von VDI oder TAPE.

Hinweis

MAXTRANSFERSIZE Gibt die größte Übertragungseinheit an und garantiert nicht, dass jeder Schreibvorgang die angegebene größte Größe überträgt. MAXTRANSFERSIZE für Schreibvorgänge von gestreiften Transaktionsprotokollsicherungen ist auf 64 KB festgelegt.

Fehlerverwaltungsoptionen

Mit diesen Optionen können Sie bestimmen, ob Sicherungsprüfsummen für den Sicherungsvorgang aktiviert werden und ob der Vorgang beim Auftreten eines Fehlers beendet wird.

{ NO_CHECKSUM | PRÜFSUMME }

Steuert, ob Sicherungsprüfsummen aktiviert sind.

  • NO_CHECKSUM

    Das Generieren von Sicherungsprüfsummen (und die Überprüfung von Seitenprüfsummen) wird explizit deaktiviert. Dies ist das Standardverhalten.

  • PRÜFSUMME

    Gibt an, dass der Sicherungsvorgang jede Seite auf Prüfsumme und zerrissene Seiten überprüft (wenn aktiviert und verfügbar) und eine Prüfsumme für die gesamte Sicherung generiert.

Die Verwendung von Sicherungsprüfsummen wirkt sich möglicherweise auf Workload und Sicherungsdurchsatz aus.

Weitere Informationen finden Sie unter Mögliche Medienfehler während der Sicherung und Wiederherstellung.

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Steuert, ob ein Sicherungsvorgang beendet oder fortgesetzt wird, nachdem ein Fehler bei der Seitenprüfsumme aufgetreten ist.

  • STOP_ON_ERROR

    Weist BACKUP an, fehlschlagen, wenn eine Seitenprüfsumme nicht überprüft wird. Dies ist das Standardverhalten.

  • FORTSETZEN_NACH_FEHLER

    Weist an BACKUP , trotz auftretender Fehler wie ungültige Prüfsummen oder gerissene Seiten weiterzufahren.

Wenn Sie den Tail des Protokolls nicht sichern können, indem Sie die NO_TRUNCATE Option verwenden, wenn die Datenbank beschädigt ist, können Sie eine Sicherung des Tail-Log-Protokolls versuchen, indem CONTINUE_AFTER_ERROR Sie anstelle von NO_TRUNCATE.

Weitere Informationen finden Sie unter Mögliche Medienfehler während der Sicherung und Wiederherstellung.

Kompatibilitätsoptionen

NEUSTARTEN

Hat keinerlei Auswirkungen. Die Option wird von der Version aus Gründen der Kompatibilität mit früheren Versionen von SQL Server angenommen.

Überwachungsoptionen

STATS [ = Prozentsatz ]

Zeigt nach jedem abgeschlossenen Prozentsatz eine Meldung an und wird als Statusanzeige verwendet. Wird Prozentsatz nicht angegeben, zeigt SQL Server jedes Mal eine Meldung an, wenn weitere 10 Prozent des Vorgangs abgeschlossen sind.

Mit STATS der Option wird der Prozentsatz abgeschlossen, der als Schwellenwert für die Meldung des nächsten Intervalls abgeschlossen ist. Dies liegt ungefähr bei dem angegebenen Prozentsatz; Wenn der Betrag beispielsweise STATS = 1040 Prozent beträgt, zeigt die Option möglicherweise 43 Prozent an. Bei großen Sicherungssätzen ist dies kein Problem, da der Prozentsatz der abgeschlossenen E/A-Aufrufe sehr langsam zwischen abgeschlossenen E/A-Aufrufen verschoben wird.

Einschränkungen von SQL Managed Instance

Die max. Streifengröße bei der Speicherung beträgt 195 GB (maximale Blob-Größe). Erhöhen Sie die Streifenanzahl im Backup-Befehl, um die einzelne Streifengröße zu reduzieren und innerhalb dieser Einschränkungen zu bleiben.

Sicherheit

Berechtigungen

Mitglieder der festen Serverrolle BACKUP DATABASE und der festen Datenbankrollen db_owner und db_backupoperator verfügen standardmäßig über -Berechtigungen.

Besitz- und Berechtigungsprobleme im Zusammenhang mit der URL können den Sicherungsvorgang beeinträchtigen. SQL Server muss über Lese- und Schreibberechtigungen für das Medium verfügen. Das Konto, unter dem der SQL Server -Dienst ausgeführt wird, muss Schreibberechtigungen haben.

Beispiele

Im Beispiel wird eine COPY_ONLY Sicherung von Sales Microsoft Azure Blob Storage ausgeführt. Der Speicherkontoname lautet mystorageaccount. Der Container heißt myfirstcontainer. Eine gespeicherte Zugriffsrichtlinie wurde mit Lese-, Schreib-, Lösch- und Auflistungsrechten erstellt. Die Anmeldeinformation SQL Serverhttps://mystorageaccount.blob.core.windows.net/myfirstcontainer wurde mit einer Shared Access Signature (SAS) erstellt, die der gespeicherten Zugriffsrichtlinie zugeordnet ist. Informationen zur SQL Server-Sicherung in Azure Blob Storage finden Sie unter SQL Server Backup and Restore with Microsoft Azure Blob Storage und SQL Server Backup to URL.

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5, COPY_ONLY;

Sie können Ihre Datenbank auch in mehreren Streifen sichern und wie folgt aussehen:

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;

*Analytik
Plattformsystem (PDW) *
 

 

Analyseplattformsystem

Erstellt eine Sicherungskopie einer Analytics-Plattformsystem (PDW)-Datenbank und speichert die Sicherung nicht auf der Appliance, sondern in einem benutzerdefinierten Netzwerkpfad. Verwenden Sie diese Anweisung mit RESTORE DATABASE für die Notfallwiederherstellung oder zum Kopieren einer Datenbank von einer Appliance in eine andere.

Lesen Sie als Vorbereitung den Artikel „Erwerben und Konfigurieren eines Sicherungsservers“ in der Produktdokumentation zu Analytics Platform System (PDW).

Es gibt zwei Arten von Sicherungen in Analytics-Plattformsystem (PDW). Eine vollständige Datenbanksicherung ist eine Sicherung einer kompletten Analytics-Plattformsystem (PDW)-Datenbank. Bei einer differenziellen Datenbanksicherung werden nur die Änderungen seit der letzten vollständigen Datenbanksicherung erfasst. Die Sicherung einer Benutzerdatenbank schließt Datenbankbenutzer und Datenbankrollen ein. Eine Sicherung der master-Datenbank schließt Anmeldungen ein.

Weitere Informationen zu Analytics Platform System-Datenbanksicherungen (PDW) finden Sie unter „Sichern und Wiederherstellen“ in der Produktinformation zu Analytics Platform System (PDW).

Syntax

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

Argumente

database_name

Der Name der Datenbank, auf der eine Sicherung erstellt werden soll. Bei der Datenbank kann es sich um die master-Datenbank oder eine Benutzerdatenbank handeln.

TO DISK = '\\UNC_path\backup_directory'

Netzwerkpfad und Verzeichnis, in die Analytics-Plattformsystem (PDW) die Sicherungsdateien schreibt. Beispiel: \\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup.

  • Der Pfad zum Sicherungsverzeichnisnamen muss bereits vorhanden sein und als vollqualifizierter UNC-Pfad (Universal Naming Convention) angegeben werden.
  • Das Sicherungsverzeichnis backup_directory darf nicht vor dem Ausführen des Sicherungsbefehls vorhanden sein. Das Analyseplattformsystem (PDW) erstellt das Sicherungsverzeichnis.
  • Der Pfad zum Sicherungsverzeichnis kann kein lokaler Pfad sein und kann kein Speicherort auf einem der PDW-Appliance-Knoten (Analytics Platform System) sein.
  • Die maximale Länge des UNC-Pfads und des Sicherungsverzeichnisnamens beträgt 200 Zeichen.
  • Der Server oder Host muss als IP-Adresse angegeben werden. Sie können sie nicht als Host- oder Servername angeben.

BESCHREIBUNG = 'Text'

Gibt eine Textbeschreibung der Datensicherung an. Die maximale Länge des Texts beträgt 255 Zeichen.

Die Beschreibung wird in den Metadaten gespeichert und wird angezeigt, wenn der Sicherungsheader wiederhergestellt RESTORE HEADERONLYwird.

NAME = '_backup Name'

Gibt den Namen der Sicherung an. Der Sicherungsname kann vom Datenbanknamen abweichen.

  • Namen können maximal 128 Zeichen haben.
  • Ein Pfad kann nicht eingeschlossen werden.
  • An der ersten Stelle muss ein Buchstabe, eine Ziffer oder ein Unterstrich (_) stehen. Zulässige Sonderzeichen sind Unterstrich (_), Bindestrich (-) oder Leerzeichen ( ). Sicherungsnamen können nicht mit einem Leerzeichen enden.
  • Die Anweisung schlägt fehl, wenn backup_name bereits an der angegebenen Position vorhanden ist.

Dieser Name wird in den Metadaten gespeichert und wird angezeigt, wenn der Sicherungsheader wiederhergestellt RESTORE HEADERONLYwird.

Differential

Gibt an, dass eine differenzielle Sicherung einer Benutzerdatenbank durchgeführt werden soll. Wenn nicht angegeben, ist die Standardeinstellung eine vollständige Sicherung. Der Name der differenziellen Sicherung muss nicht mit dem Namen der vollständigen Sicherung übereinstimmen. Zum Nachverfolgen der differenziellen Sicherung und der zugehörigen vollständigen Sicherung sollten Sie den gleichen Namen verwenden und "full" oder "diff" anfügen.

Beispiel:

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerFull';

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerDiff' WITH DIFFERENTIAL;

Berechtigungen

Erfordert die BACKUP DATABASE-Berechtigung oder die Mitgliedschaft in der festen Datenbankrolle db_backupoperator. Die master Datenbank kann nicht gesichert werden, sondern von einem regulären Benutzer, der der db_backupoperator festen Datenbankrolle hinzugefügt wurde. Die master-Datenbank kann nur von sa, dem Fabricadministrator, oder Mitgliedern der festen Serverrolle Sysadmin gesichert werden.

Erfordert ein Windows-Konto mit der Berechtigung, auf das Sicherungsverzeichnis zuzugreifen, es zu erstellen und auf es zu schreiben. Sie müssen außerdem den Windows-Kontonamen und das Kennwort in Analytics-Plattformsystem (PDW) speichern. Verwenden Sie die gespeicherte Prozedur sp_pdw_add_network_credentials – Azure Synapse Analytics, um diese Netzwerkanmeldeinformationen zu Analytics-Plattformsystem (PDW) hinzuzufügen.

Weitere Informationen zum Verwalten von Anmeldeinformationen in Analytics-Plattformsystem (PDW) finden Sie im Abschnitt Sicherheit.

Fehlerbehandlung

BACKUP DATABASE Fehler unter den folgenden Bedingungen:

  • Benutzerberechtigungen reichen nicht aus, um eine Sicherung durchzuführen.
  • Das Analytics Platform System (PDW) verfügt nicht über die richtigen Berechtigungen für den Netzwerkspeicherort, an dem die Sicherung gespeichert wird.
  • Die Datenbank ist nicht vorhanden.
  • Das Zielverzeichnis ist bereits auf der Netzwerkfreigabe vorhanden.
  • Die Zielnetzwerkfreigabe ist nicht verfügbar.
  • Die Zielnetzwerkfreigabe verfügt nicht über genügend Speicherplatz für die Sicherung. Der BACKUP DATABASE Befehl bestätigt nicht, dass vor dem Initiieren der Sicherung ausreichend Speicherplatz vorhanden ist, sodass beim Ausführen BACKUP DATABASEein Out-of-Disk-Space-Fehler generiert werden kann. Wenn nicht genügend Speicherplatz vorhanden ist, setzt Analytics Platform System (PDW) den BACKUP DATABASE Befehl zurück. Führen Sie DBCC SHRINKLOG aus, um die Größe der Datenbank zu verringern.
  • Versuchen Sie, eine Sicherung innerhalb einer Transaktion zu starten.

Hinweise

Bevor Sie eine Datenbanksicherung ausführen, verwenden Sie DBCC SHRINKLOG , um die Größe Der Datenbank zu verringern.

Eine Analytics-Plattformsystem (PDW)-Sicherung wird als Satz von mehreren Dateien im gleichen Verzeichnis gespeichert.

Eine differenzielle Sicherung nimmt normalerweise weniger Zeit in Anspruch als eine vollständige Sicherung und kann häufiger ausgeführt werden. Wenn mehrere differenzielle Sicherungen auf der gleichen vollständigen Sicherung basieren, enthält jede differenzielle Sicherung alle Änderungen aus der vorherigen differenziellen Sicherung.

Wenn Sie einen BACKUP Befehl abbrechen, entfernt Analytics Platform System (PDW) das Zielverzeichnis und alle Dateien, die für die Sicherung erstellt wurden. Wenn das Analytics Platform System (PDW) die Netzwerkkonnektivität mit der Freigabe verliert, kann das Rollback nicht abgeschlossen werden.

Vollständige und differenzielle Sicherungen werden in separaten Verzeichnissen gespeichert. Benennungskonventionen werden nicht erzwungen, um anzugeben, dass eine vollständige Sicherung und differenzielle Sicherung zusammengehören. Sie können dies über Ihre eigenen Benennungskonventionen nachverfolgen. Alternativ können Sie dies mithilfe der WITH DESCRIPTION Option zum Hinzufügen einer Beschreibung nachverfolgen und dann mithilfe der RESTORE HEADERONLY Anweisung die Beschreibung abrufen.

Begrenzungen

Sie können keine differenzielle Sicherung der master Datenbank ausführen. Nur vollständige Sicherungen der master-Datenbank werden unterstützt.

Transaktionsprotokollsicherungen der master-Systemdatenbank werden nicht unterstützt.

Die Sicherungsdateien werden in einem Format gespeichert, das nur zum Wiederherstellen der Sicherung in einer Analytics Platform System (PDW)-Appliance mit der RESTORE DATABASE-Anweisung geeignet ist.

Die Sicherung mit der BACKUP DATABASE Anweisung kann nicht verwendet werden, um Daten oder Benutzerinformationen in SMP SQL Server-Datenbanken zu übertragen. Hierfür können Sie die Remotetabellenkopie-Features verwenden. Weitere Informationen finden Sie unter „Remotetabellenkopie“ in der Produktdokumentation zu Analytics Platform System (PDW).

Analytics Platform System (PDW) verwendet SQL Server-Sicherungstechnologie zum Sichern und Wiederherstellen von Datenbanken. SQL Server-Sicherungsoptionen sind vorkonfiguriert, um die Komprimierung von Sicherungen zu verwenden. Sicherungsoptionen wie Komprimierung, Prüfsumme, Blockgröße und Pufferanzahl können nicht festgelegt werden.

Nur eine Datenbanksicherung oder -wiederherstellung kann zu einem beliebigen Zeitpunkt auf der Appliance ausgeführt werden. Analytics Platform System (PDW) stellt Sicherungs- oder Wiederherstellungsbefehle in die Warteschlange, bis der aktuelle Sicherungs- oder Wiederherstellungsbefehl abgeschlossen ist.

Die Zielappliance für die Wiederherstellung der Sicherung muss mindestens so viele Computeknoten besitzen wie die Quellappliance. Das Ziel kann mehr Computeknoten aufweisen als die Quell-Appliance, aber nicht weniger Computeknoten.

Das Analytics Platform System (PDW) verfolgt nicht den Speicherort und die Namen von Sicherungen, da die Sicherungen aus der Appliance gespeichert werden.

Analytics-Plattformsystem (PDW) verfolgt den Erfolg oder Misserfolg von Datenbanksicherungen nicht.

Eine differenzielle Sicherung ist nur zulässig, wenn die letzte vollständige Sicherung erfolgreich abgeschlossen wurde. Angenommen, Sie erstellen am Montag eine vollständige Sicherung der Sales Datenbank und die Sicherung wurde erfolgreich abgeschlossen. Anschließend erstellen Sie am Dienstag eine vollständige Sicherung der Sales Datenbank und schlägt fehl. Nach diesem Fehler können Sie keine differenzielle Sicherung basierend auf der vollständigen Sicherung von Montag erstellen. Sie müssen eine vollständige Sicherung erstellen, bevor Sie eine differenzielle Sicherung erstellen.

Metadaten

Diese dynamischen Verwaltungssichten enthalten Informationen über alle Sicherungs-, Wiederherstellungs- und Ladevorgänge. Die Informationen persistieren über Systemneustarts.

Leistung

Analytics-Plattformsystem (PDW) führt eine Sicherung aus, indem zuerst die Metadaten gesichert werden und dann eine parallele Sicherung der auf den Computeknoten gespeicherten Datenbankdaten ausgeführt wird. Daten werden direkt aus jedem Computeknoten in das Sicherungsverzeichnis kopiert. Um die bestmögliche Leistung für das Verschieben von Daten von den Computeknoten in das Sicherungsverzeichnis zu erzielen, steuert Analytics-Plattformsystem (PDW) die Anzahl von Computeknoten, die gleichzeitig Daten kopieren.

Sperren

Übernimmt eine ExclusiveUpdate-Sperre für das DATABASE Objekt.

Sicherheit

PdW-Sicherungen (Analytics Platform System) werden nicht auf der Appliance gespeichert. Daher ist Ihr IT-Team zuständig für das Verwalten aller Aspekte der Sicherheit von Sicherungen. Dazu gehört beispielsweise die Verwaltung der Sicherheit der Sicherungsdaten, der Sicherheit der Server, auf denen Sicherungen gespeichert werden, und der Sicherheit der Netzwerkinfrastruktur, die die Sicherungsserver mit der Analytics-Plattformsystem (PDW)-Appliance verbinden.

Verwalten von Anmeldeinformationen für das Netzwerk

Der Netzwerkzugriff auf das Sicherungsverzeichnis basiert auf der Datei für die Standardfreigabesicherheit des Betriebssystems. Bevor Sie eine Sicherung durchführen, müssen Sie ein Windows-Konto erstellen oder festlegen, das für die Authentifizierung des Analytics Platform System (PDW) für das Sicherungsverzeichnis verwendet wird. Dieses Windows-Konto benötigt die Berechtigung, auf das Sicherungsverzeichnis zuzugreifen, es zu erstellen und darin zu schreiben.

Wichtig

Um Sicherheitsrisiken mit Ihren Daten zu reduzieren, empfehlen wir Ihnen, ein Windows-Konto ausschließlich für die Durchführung von Sicherungs- und Wiederherstellungsvorgängen festzulegen. Definieren Sie das Konto so, dass es nur Berechtigungen für den Sicherungsspeicherort besitzt.

Sie müssen den Benutzernamen und das Kennwort in Analytics-Plattformsystem (PDW) speichern, indem Sie die gespeicherte Prozedur sp_pdw_add_network_credentials – Azure Synapse Analytics ausführen. Analytics-Plattformsystem (PDW) verwendet die Windows-Anmeldeinformationsverwaltung zum Speichern und Verschlüsseln von Benutzernamen und Kennwörtern auf dem Steuerknoten und den Computeknoten. Die Anmeldeinformationen werden nicht mit dem BACKUP DATABASE Befehl gesichert.

Mit sp_pdw_remove_network_credentials – Azure Synapse Analytics können Sie Netzwerkanmeldeinformationen aus Analytics-Plattformsystem (PDW) entfernen.

Um alle in Analytics-Plattformsystem (PDW) gespeicherten Netzwerkanmeldeinformationen aufzulisten, verwenden Sie die dynamische Verwaltungssicht sys.dm_pdw_network_credentials.

Beispiele

Ein. Fügen Sie der Netzwerkanmeldeinformationen für den Sicherungsspeicherort hinzu

Zum Erstellen einer Sicherung Analytics-Plattformsystem (PDW) benötigen Sie die Lese-/Schreibberechtigung für das Sicherungsverzeichnis. Im folgenden Beispiel wird gezeigt, wie die Anmeldeinformationen für einen Benutzer hinzugefügt werden. Das Analytics Platform System (PDW) speichert diese Anmeldeinformationen und verwendet sie für Sicherungs- und Wiederherstellungsvorgänge.

Wichtig

Aus Sicherheitsgründen empfehlen wir das Erstellen eines Domänenkontos ausschließlich zum Ausführen von Sicherungen.

EXECUTE sp_pdw_add_network_credentials 'xxx.xxx.xxx.xxx', 'domain1\backupuser', '*****';

B. Entfernen Sie Netzwerkanmeldeinformationen für den Sicherungsspeicherort

Im folgenden Beispiel wird gezeigt, wie die Anmeldeinformationen für ein Domänenbenutzerkonto aus Analytics-Plattformsystem (PDW) entfernt werden.

EXECUTE sp_pdw_remove_network_credentials 'xxx.xxx.xxx.xxx';

C. Erstellen Sie eine vollständige Sicherung jeder Benutzerdatenbank

Im folgenden Beispiel wird eine vollständige Sicherung der Invoices-Benutzerdatenbank erstellt. Das Analytics Platform System (PDW) erstellt das Invoices2013 Verzeichnis und speichert die Sicherungsdateien im \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full Verzeichnis.

BACKUP DATABASE Invoices
    TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';

D: Erstellen Sie eine differenzielle Sicherung einer Benutzerdatenbank

Das folgende Beispiel erstellt eine differenzielle Sicherung, die alle Änderungen seit der letzten vollständigen Sicherung der Invoices-Datenbank enthält. Analytics Platform System (PDW) erstellt das \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff Verzeichnis zum Speichern der Dateien. Die Beschreibung "Differenzielle Sicherung von Rechnungen 2013" wird mit den Kopfzeileninformationen für die Sicherung gespeichert.

Die differenzielle Sicherung wird nur erfolgreich ausgeführt, wenn die letzte vollständige Sicherung von Rechnungen erfolgreich abgeschlossen wurde.

BACKUP DATABASE Invoices
    TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
    WITH DIFFERENTIAL,
    DESCRIPTION = 'Invoices 2013 differential backup';

E. Erstellen einer vollständigen Sicherung der master Datenbank

Im folgenden Beispiel wird eine vollständige Sicherung der master-Datenbank erstellt und im Verzeichnis „\\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master“ gespeichert, wobei IP für eine Netzwerk-IP-Adresse steht.

BACKUP DATABASE master
    TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master';

F. Erstellen Sie eine Sicherung der Appliance-Anmeldeinformationen.

Die master-Datenbank speichert die Anmeldeinformationen für die Appliance. Um die Anmeldeinformationen der Appliance zu sichern, müssen Sie die master Datenbank sichern.

Im folgenden Beispiel wird eine vollständige Sicherung der master-Datenbank erstellt.

BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master'
WITH (
    DESCRIPTION = 'Master Backup 20130722',
    NAME = 'login-backup'
)
;