Sicherungsmedien (SQL Server)
Gilt für: SQL Server
Während eines Sicherungsvorgangs in einer SQL Server-Datenbank werden die gesicherten Daten (die Sicherung) auf ein physisches Sicherungsmedium geschrieben. Dieses physische Sicherungsmedium wird initialisiert, wenn die erste Sicherung in einem Mediensatz darauf geschrieben wird. Die Sicherungen auf einem Satz von einem oder mehreren Sicherungsmedien bilden einen einzelnen Mediensatz.
Begriffe und Definitionen
Sicherungsdatenträger
Eine Festplatte oder ein anderes Datenträgerspeichermedium, die bzw. das eine oder mehrere Sicherungsdateien enthält. Eine Sicherungsdatei ist eine reguläre Betriebssystemdatei.
Mediensatz
Eine geordnete Auflistung von Sicherungsmedien (Bänder oder Dateien auf Datenträgern), für die ein fester Typ sowie eine feste Anzahl von Sicherungsmedien verwendet wird. Weitere Informationen über Mediensätze finden Sie unter Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).
Physisches Sicherungsmedium
Entweder ein Bandlaufwerk oder eine vom Betriebssystem bereitgestellte Datei auf dem Datenträger. Eine Sicherung kann auf 1 bis 64 Sicherungsmedien geschrieben werden. Wenn für eine Sicherung mehrere Sicherungsmedien benötigt werden, müssen diese ohne Ausnahme demselben Medientyp angehören (Datenträger oder Band).
SQL Server-Sicherungen können nicht nur auf einen Datenträger oder ein Band geschrieben werden, sondern auch in Azure Blob Storage.
Verwenden von Datenträgersicherungsmedien
Wenn sich eine Datenträgerdatei füllt, während bei einem Sicherungsvorgang dem Mediensatz eine Sicherung hinzugefügt wird, kann die Sicherungsvorgang nicht bis zum Ende ausgeführt werden. Die maximale Größe einer Sicherungsdatei wird durch den freien Speicherplatz auf dem Datenträgermedium bestimmt. Die geeignete Größe für ein Datenträgersicherungsmedium hängt daher von der Größe Ihrer Sicherungen ab.
Ein Datenträgersicherungsmedium kann ein einfacher Datenträger sein, z. B. ein ATA-Laufwerk. Alternativ kann auch ein im laufenden Betrieb austauschbares Datenträgerlaufwerk verwendet werden, das den Vorteil hat, dass Sie auf transparente Weise einen vollen Datenträger gegen einen leeren austauschen können. Ein Sicherungsdatenträger kann ein lokaler Datenträger auf dem Server oder ein als Netzwerkressource freigegebener Remotedatenträger sein. Informationen zum Verwenden eines Remotedatenträgers finden Sie unter Sichern in eine Datei auf einer Netzwerkfreigabeweiter unten in diesem Thema.
SQL Server-Verwaltungstools bieten eine hohe Flexibilität beim Verwalten von Datenträgersicherungsmedien, da sie automatisch einen zeitgestempelten Dateinamen für die Datei auf dem Datenträger generieren.
Wichtig
Als Sicherungsdatenträger sollte ein anderer Datenträger als für die Datenbankdaten und Protokolldatenträger verwendet werden. Nur so kann sichergestellt werden, dass Sie auch dann auf die Sicherungen zugreifen können, wenn die Daten- oder Protokolldatenträger ausfallen.
Wenn sich Datenbankdateien und Sicherungsdateien auf demselben Medium befinden und ein Fehler auftritt, stehen die Datenbank und die Sicherungen nicht mehr zur Verfügung. Wenn Sie die Daten und die Sicherungen auf separaten Medien speichern, wird auch die E/A-Leistung für die produktive Nutzung der Datenbank sowie für das Schreiben von Sicherungen optimiert.
Angeben einer Sicherungsdatei unter Verwendung des physischen Namens (Transact-SQL)
Die grundlegende BACKUP -Syntax zum Angeben einer Sicherungsdatei mithilfe des Namens des physischen Mediums lautet wie folgt:
BACKUP DATABASE Name der Datenbank
TO DISK = { 'Name des physischen Sicherungsmediums' | @physical_backup_device_name_var }
Zum Beispiel:
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';
GO
Die grundlegende Syntax zum Angeben eines physischen Datenträgermediums in einer RESTORE -Anweisung lautet:
RESTORE { DATABASE | LOG } Name der Datenbank
FROM DISK = { 'Name des physischen Sicherungsmediums' | @physical_backup_device_name_var }
Beispiel:
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';
Angeben des Dateipfads für die Datenträgersicherung
Wenn Sie eine Sicherungsdatei angeben, sollten Sie den vollständigen Pfad und den Dateinamen angeben. Wenn Sie beim Sichern der Datei nur den Dateinamen oder einen relativen Pfad angeben, wird die Sicherungsdatei im Standardsicherungsverzeichnis gespeichert. Das Standardsicherungsverzeichnis lautet „C:\Programme\Microsoft SQL Server\MSSQL.n\MSSQL\Backup“, wobei mit n die Nummer der Serverinstanz angegeben wird. Das Standardsicherungsverzeichnis für die Standardserverinstanz lautet daher „C:\Programme\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup“.
Für eine eindeutige Zuordnung (insbesondere in Skripts) empfiehlt sich die explizite Angabe des Pfads für das Sicherungsverzeichnis in allen DISK-Klauseln. Wenn Sie den Abfrage-Editor verwenden, ist dieser Aspekt weniger wichtig. In diesem Fall, wenn Sie sicherstellen können, dass sich die Sicherungsdatei im Standardsicherungsverzeichnis befindet, können Sie die Pfadangabe in der DISK-Klausel auslassen. Beispielsweise wird die BACKUP
-Datenbank mithilfe der folgenden AdventureWorks2022
-Anweisung im Standardsicherungsverzeichnis gesichert.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'AdventureWorks2022.bak';
GO
Hinweis
Der Standardspeicherort wird im BackupDirectory -Registrierungsschlüssel unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServergespeichert.
Sichern in einer Netzwerkfreigabedatei
Damit SQL Server auf eine Datei auf einem Remotedatenträger zugreifen kann, muss das SQL Server-Dienstkonto Zugriff auf die Netzwerkfreigabe haben. Dazu gehören auch Berechtigungen, die erforderlich sind, damit Sicherungsvorgänge auf die Netzwerkfreigabe schreiben und Wiederherstellungsvorgänge die Sicherungsdaten auf der Netzwerkfreigabe lesen können. Die Verfügbarkeit von Netzlaufwerken und Berechtigungen hängt von dem Kontext ab, in dem der SQL Server-Dienst ausgeführt wird:
Zum Sichern eines Netzlaufwerks, wenn SQL Server im Kontext eines Domänenbenutzerkontos ausgeführt wird, muss das freigegebene Laufwerk in der Sitzung, in der SQL Server ausgeführt wird, als Netzlaufwerk zugeordnet sein. Wenn Sie Sqlservr.exe über die Befehlszeile starten, werden in SQL Server sämtliche Netzlaufwerke angezeigt, die Sie in Ihrer Anmeldesitzung zugeordnet haben.
Wenn Sie Sqlservr.exe als Dienst ausführen, wird SQL Server in einer separaten Sitzung ausgeführt, die nicht mit Ihrer Anmeldesitzung in Zusammenhang steht. Die Sitzung, in der ein Dienst ausgeführt wird, kann über eigene zugeordnete Laufwerke verfügen (obwohl das normalerweise nicht der Fall ist).
Sie können eine Verbindung mit dem Netzwerkdienstkonto herstellen, indem Sie statt eines Domänenbenutzers das Computerkonto verwenden. Damit Sicherungen von bestimmten Computern auf ein freigegebenes Laufwerk zulässig sind, müssen Sie den Computerkonten entsprechende Zugriffsberechtigungen erteilen. Solange der Sqlservr.exe-Prozess, der die Sicherung schreibt, Zugriff hat, spielt es keine Rolle, ob der Benutzer, der den BACKUP-Befehl sendet, ebenfalls Zugriff hat.
Wichtig
Da es bei Vorliegen von Netzwerkfehlern beim Sichern von Daten über ein Netzwerk zu Störungen kommen kann, sollten Sie bei Verwendung eines Remotedatenträgers den Sicherungsvorgang am Ende überprüfen. Weitere Informationen finden Sie unter RESTORE VERIFYONLY (Transact-SQL).
Angeben eines UNC-Namen (Universal Naming Convention)
Zum Angeben einer Netzwerkfreigabe in einem Sicherungs- oder Wiederherstellungsbefehl verwenden Sie den vollqualifizierten UNC-Namen der Datei für das Sicherungsmedium. Ein UNC-Name weist das Format \\Systemname\ShareName\Path\FileName.
Zum Beispiel:
BACKUP DATABASE AdventureWorks2022
TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';
GO
Verwenden von Bandgeräten
Hinweis
Die Unterstützung für Bandsicherungsmedien wird in zukünftigen Versionen von SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.
Zum Sichern von SDaten auf Band ist mindestens ein Bandlaufwerk erforderlich, das vom Microsoft Windows-Betriebssystem unterstützt wird. Verwenden Sie für diese Laufwerke nur die vom Hersteller des Laufwerks empfohlenen Bänder. Weitere Informationen zum Installieren eines Bandlaufwerks finden Sie in der Dokumentation zum Windows-Betriebssystem.
Wenn ein Bandlaufwerk verwendet wird, kann ein Sicherungsvorgang ein Band füllen und mit einem anderen Band fortfahren. Jedes Band enthält einen Medienheader. Das erste verwendete Medium wird als Anfangsbandbezeichnet. Jedes darauf folgende Band wird als Anschlussband bezeichnet und verfügt über eine Mediensequenznummer (aufsteigend). Ein Mediensatz, der beispielsweise vier Bandmedien zugewiesen ist, enthält mindestens vier Anfangsbänder (und, bei Bedarf für die Datenbank vier weitere Reihen mit Anschlussbändern). Wenn Sie einen Sicherungssatz anfügen, müssen Sie das letzte Band in der Reihe einlegen. Wenn das letzte Band nicht eingelegt wurde, wird der Scanvorgang von der Datenbank-Engine bis zum Ende des eingelegten Bands fortgesetzt, woraufhin Sie das Band wechseln müssen. Legen Sie zu diesem Zeitpunkt das letzte Band ein.
Bandsicherungsmedien werden wie Datenträgermedien verwendet. Es gelten folgende Ausnahmen:
Das Bandmedium muss physisch mit dem Computer verbunden sein, auf dem eine Instanz von SQL Server ausgeführt wird. Das Sichern auf Remotebandmedien wird nicht unterstützt.
Wenn ein Bandsicherungsmedium während des Sicherungsvorgangs gefüllt wird, jedoch noch weitere Daten geschrieben werden müssen, fordert SQL Server zum Einlegen eines neues Bands auf, und setzt danach den Sicherungsvorgang fort.
Angeben eines Sicherungsbands unter Verwendung des physischen Namens (Transact-SQL)
Die grundlegende BACKUP -Syntax zum Angeben eines Sicherungsbands mithilfe des physischen Gerätenamens des Bandlaufwerks lautet wie folgt:
BACKUP { DATABASE | LOG } Name der Datenbank
TO TAPE = { 'Name des physischen Sicherungsmediums' | @physical_backup_device_name_var }
Zum Beispiel:
BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0';
GO
Die grundlegende Syntax zum Angeben eines physischen Bandmediums in einer RESTORE -Anweisung lautet:
RESTORE { DATABASE | LOG } Name der Datenbank
FROM TAPE = { 'Name des physischen Sicherungsmediums' | @physical_backup_device_name_var }
Bandspezifische BACKUP- und RESTORE-Optionen (Transact-SQL)
Zur Vereinfachung der Bandverwaltung bietet die BACKUP-Anweisung die folgenden bandspezifischen Optionen:
{ NOUNLOAD | UNLOAD }
Sie können steuern, ob ein Sicherungsband nach einem Sicherungs- oder Wiederherstellungsvorgang automatisch aus dem Bandlaufwerk ausgeworfen werden soll. UNLOAD/NOUNLOAD ist eine Sitzungseinstellung, die für die Dauer der Sitzung oder bis zur Angabe der alternativen Einstellung persistent gespeichert wird.
{ REWIND | NOREWIND }
Sie können steuern, ob SQL Server nach dem Sicherungs- oder Wiederherstellungsvorgang das Band offen hält oder das Band, wenn es voll ist, freigibt und zurückspult. Standardmäßig wird das Band zurückgespult (REWIND).
Hinweis
Weitere Informationen zur Syntax und den Argumenten von BACKUP finden Sie unter BACKUP (Transact-SQL). Weitere Informationen zur Syntax und den Argumenten von RESTORE finden Sie unter RESTORE (Transact-SQL) und RESTORE-Argumente (Transact-SQL).
Verwalten von offenen Bändern
Führen Sie eine Abfrage auf die dynamische Verwaltungssicht sys.dm_io_backup_tapes aus, um eine Liste der offenen Bandmedien und den Status von Einbindungsanforderungen anzuzeigen. In dieser Sicht werden alle offenen Bänder angezeigt. Dies umfasst auch die gerade verwendeten Bänder, die sich bis zum nächsten BACKUP- oder RESTORE-Vorgang vorübergehend im Leerlauf befinden.
Wenn ein Band versehentlich offen geblieben ist, kann es am schnellsten mithilfe des folgenden Befehls freigegeben werden: RESTORE REWINDONLY FROM TAPE =Name des Sicherungsmediums. Weitere Informationen finden Sie unter RESTORE REWINDONLY (Transact-SQL).
Verwenden von Azure Blob Storage
SQL Server-Sicherungen können in Azure Blob Storage geschrieben werden. Weitere Informationen zum Verwenden von Azure Blob Storage für Sicherungen finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Microsoft Azure Blob Storage.
Verwenden eines logischen Sicherungsmediums
Ein logisches Sicherungsmedium ist ein optionaler, benutzerdefinierter Name, der auf ein bestimmtes, physisches Sicherungsmedium (Datenträgerdatei oder Bandlaufwerk) verweist. Ein logisches Sicherungsmedium gibt Ihnen beim Verweisen auf das entsprechende physische Sicherungsmedium die Möglichkeit zur Dereferenzierung.
Zum Definieren eines logischen Sicherungsmediums muss einem physischen Medium ein logischer Name zugeordnet werden. Beispielsweise könnte ein logisches Gerät AdventureWorksBackups
definiert werden, das auf die Datei Z:\SQLServerBackups\AdventureWorks2022.bak
oder das Bandlaufwerk \\.\tape0
verweist. Sicherungs- und Wiederherstellungsbefehle können dann AdventureWorksBackups
als Sicherungsgerät anstelle von DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
oder TAPE = '\\.\tape0'
angeben.
Der Name des logischen Mediums muss innerhalb der logischen Sicherungsmedien auf der Serverinstanz eindeutig sein. Sie können sich die vorhandenen logischen Mediennamen anzeigen lassen, indem Sie eine Abfrage für die sys.backup_devices -Katalogsicht ausführen. In dieser Sicht wird der Name des logischen Sicherungsmediums angezeigt, und es wird der Typ und der physische Dateiname oder der Pfad des entsprechenden physischen Sicherungsmediums angegeben.
Nachdem ein logisches Sicherungsmedium definiert wurde, können Sie in einem BACKUP- oder RESTORE-Befehl das logische Sicherungsmedium angeben, statt den physischen Namen des Sicherungsmediums zu verwenden. Beispielsweise wird die AdventureWorks2022
-Datenbank mit der folgenden Anweisung auf dem logischen Sicherungsmedium AdventureWorksBackups
gesichert.
BACKUP DATABASE AdventureWorks2022
TO AdventureWorksBackups;
GO
Hinweis
In jeder BACKUP- oder RESTORE-Anweisung kann wahlweise der logische Name des Sicherungsmediums oder der Name des entsprechenden physischen Sicherungsmediums angegeben werden.
Die Verwendung eines logischen Sicherungsmediums ist einfacher, da kein langer Pfad angegeben werden muss. Die Verwendung eines logischen Sicherungsmediums kann hilfreich sein, wenn Sie vorhaben, eine Reihe von Sicherungen auf denselben Pfad oder auf dasselbe Bandmedium zu schreiben. Logische Sicherungsmedien sind besonders nützlich zum Identifizieren von Bandsicherungsmedien.
Es kann ein Sicherungsskript geschrieben werden, um ein bestimmtes logisches Sicherungsmedium zu verwenden. Damit können Sie zu einem neuen physischen Sicherungsmedium wechseln, ohne dass ein Update des Skripts erforderlich ist. Für diesen Wechsel sind die folgenden Schritte erforderlich:
Löschen des ursprünglichen logischen Sicherungsmediums.
Definieren eines neuen logischen Sicherungsmediums, für das der Name des ursprünglichen logischen Sicherungsmediums verwendet wird, für das jedoch eine Zuordnung zu einem anderen physischen Sicherungsmedium erfolgt. Logische Sicherungsmedien sind besonders nützlich zum Identifizieren von Bandsicherungsmedien.
Gespiegelte Sicherungsmediensätze
Die Spiegelung von Sicherungsmediensätzen mindert die Auswirkungen von Funktionsstörungen bei Sicherungsmedien. Diese Funktionsstörungen sind besonders schwerwiegend, da Sicherungen im Hinblick auf den Verlust von Daten die letzte Schutzmaßnahme darstellen. Mit zunehmendem Umfang einer Datenbank nimmt auch die Wahrscheinlichkeit für einen Fehler bei einem Sicherungsgerät oder -medium zu, in dessen Folge eine Sicherung schließlich nicht mehr wiederhergestellt werden kann. Aufgrund der mit der Spiegelung von Sicherungsmedien bereitgestellten Redundanz für das physische Sicherungsmedium erhöht sich die Zuverlässigkeit von Sicherungen. Weitere Informationen finden Sie unter Gespiegelte Sicherungsmediensätze (SQL Server).
Hinweis
Gespiegelte Sicherungsmediensätze werden nur in SQL Server 2005 Enterprise Edition und höheren Versionen unterstützt.
Archivieren von SQL Server-Sicherungen
Datenträgersicherungen sollten mithilfe eines Hilfsprogramms für die Dateisystemsicherung archiviert und die Archive außerhalb des Standorts aufbewahrt werden. Das Verwenden eines Datenträgers hat den Vorteil, dass Sie die archivierten Sicherungen über das Netzwerk auf einen Datenträger außerhalb des Standorts schreiben können. Azure Blob Storage kann als externe Archivierungsfunktion genutzt werden. Sie können entweder die Datenträgersicherungen hochladen, oder Sie können die Sicherungen direkt in Azure Blob Storage schreiben.
Eine weitere verbreitete Archivierungsmethode besteht darin, SQL Server-Sicherungen auf einen lokalen Sicherungsdatenträger zu schreiben, auf Band zu archivieren und die Bänder außerhalb des Standorts aufzubewahren.
Zugehörige Aufgaben
So geben Sie ein Datenträgermedium an (SQL Server Management Studio)
So geben Sie ein Bandmedium an (SQL Server Management Studio)
So definieren Sie ein logisches Sicherungsmedium
Definieren eines logischen Sicherungsmediums für eine Datenträgerdatei (SQL Server)
Definieren eines logischen Sicherungsmediums für ein Bandlaufwerk (SQL Server)
BackupDevice (SMO)
So verwenden Sie ein logisches Sicherungsmedium
Angeben eines Datenträgers oder ein Bands als Sicherungsziel (SQL Server)
Wiederherstellung einer Sicherung von einem Medium (SQL Server)
So zeigen Sie Informationen zu Sicherungsmedien an
Anzeigen der Eigenschaften und des Inhalts eines logischen Sicherungsmediums (SQL Server)
Anzeigen der Inhalte eines Sicherungsbands oder einer Sicherungsdatei (SQL Server)
So löschen Sie ein logisches Sicherungsmedium
Weitere Informationen
SQL Server, Sicherungsmedium-Objekt
BACKUP (Transact-SQL)
Wartungspläne
Mediensätze, Medienfamilien und Sicherungssätze (SQL Server)
RESTORE (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes (Transact-SQL)
Gespiegelte Sicherungsmediensätze (SQL Server)