Kopiesicherungen

Gilt für:SQL ServerAzure SQL Managed Instance

Eine kopiegeschützte Sicherung ist eine SQL Server-Sicherung, die unabhängig von der Abfolge herkömmlicher SQL Server-Sicherungen ist. Normalerweise wird beim Erstellen einer Sicherung die Datenbank geändert, und außerdem beeinflusst dies die Art und Weise, wie spätere Sicherungen wiederhergestellt werden. Gelegentlich ist es jedoch sinnvoll, eine Sicherung für einen speziellen Zweck zu erstellen, ohne dass sich die gesamten Sicherungs- und Wiederherstellungsverfahren für die Datenbank auswirken. Kopiesicherungen eignen sich für diesen Zweck.

Die folgenden Typen von Kopiesicherungen sind verfügbar:

  • Nur vollständige Sicherungen kopieren (alle Wiederherstellungsmodelle)

    • Eine kopiegeschützte Sicherung kann nicht als differenzielle Basis oder differenzielle Sicherung dienen und wirkt sich nicht auf die differenzielle Basis aus.

    • Die Wiederherstellung einer vollständigen Kopiesicherung entspricht der Wiederherstellung jeder anderen vollständigen Sicherung.

  • Nur Kopieren von Protokollsicherungen (nur vollständiges Wiederherstellungsmodell und Massenprotokollierungsmodell)

    • Eine Kopie-Protokollsicherung behält den vorhandenen Protokollarchivpunkt bei und wirkt sich daher nicht auf die Sequenzierung regulärer Protokollsicherungen aus. Protokollkopiesicherungen sind normalerweise nicht nötig. Stattdessen können Sie eine neue Routineprotokollsicherung (mit WITH NORECOVERY) erstellen und diese Sicherung zusammen mit allen vorherigen Protokollsicherungen verwenden, die für die Wiederherstellungssequenz erforderlich sind. Eine Protokollkopiesicherung ist manchmal jedoch auch für das Ausführen einer Onlinewiederherstellung nützlich. Weitere Informationen finden Sie in den Anweisungen im Artikel Beispiel: Onlinewiederherstellung einer Lese-/Schreibzugriffsdatei (vollständiges Wiederherstellungsmodell) stattdessen mithilfe der kopiergeschützten Sicherungsdateien.

    • Nach einer Kopiesicherung wird das Transaktionsprotokoll nie abgeschnitten.

Nur Kopiersicherungen werden in der is_copy_only Spalte der Backupset-Tabelle aufgezeichnet.

Wichtig

In Azure SQL verwaltete Instanz können kopiergeschützte Sicherungen nicht für eine Datenbank erstellt werden, die mit vom Dienst verwalteter transparenter Datenverschlüsselung (Transparent Data Encryption, TDE) verschlüsselt ist. Vom Dienst verwaltete TDE verwendet internen Schlüssel für die Verschlüsselung von Daten, und dieser Schlüssel kann nicht exportiert werden, sodass Sie die Sicherung an keiner anderen Stelle wiederherstellen konnten. Sie sollten stattdessen TDE mit Verwaltung durch Kunden in Betracht ziehen, um Kopiesicherungen von verschlüsselten Datenbanken erstellen zu können, aber stellen Sie dabei sicher, dass Sie über einen Verschlüsselungsschlüssel für spätere Wiederherstellungen verfügen.

Erstellen einer kopiegeschützten Sicherung

Sie können eine kopiegeschützte Sicherung mit SQL Server Management Studio, Azure Data Studio, Transact-SQL oder PowerShell erstellen.

.A Verwenden von SQL Server Management Studio

In diesem Beispiel wird eine kopiegeschützte Sicherung der Sales Datenbank am Standardsicherungsort auf dem Datenträger gesichert.

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der SQL Server-Datenbank-Engine her, und erweitern Sie anschließend diese Instanz.

  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf Sales, zeigen Sie auf Aufgaben, und klicken Sie anschließend auf Sichern.

  3. Aktivieren Sie auf der Seite "Allgemein " im Abschnitt "Quelle " das Kontrollkästchen "Nur Kopieren".

  4. Klickan Sie auf OK.

B. Verwenden von Transact-SQL

In diesem Beispiel wird eine kopiegeschützte Sicherung für die Datenbank erstellt, die Sales den COPY_ONLY Parameter verwendet. Eine Kopiesicherung des Transaktionsprotokolls wird ebenfalls erstellt.

BACKUP DATABASE Sales
TO DISK = 'E:\BAK\Sales_Copy.bak'
WITH COPY_ONLY;

BACKUP LOG Sales
TO DISK = 'E:\BAK\Sales_LogCopy.trn'
WITH COPY_ONLY;

Hinweis

COPY_ONLY hat keine Auswirkung, wenn sie mit der DIFFERENTIAL Option angegeben wird.

C. Verwenden von Transact-SQL und Azure SQL verwaltete Instanz

Azure SQL verwaltete Instanz unterstützt das Erstellen COPY_ONLY vollständigen Sicherungen. Im Beispiel wird eine COPY_ONLY-Sicherung von MyDatabase in Microsoft Azure Blob Storage durchgeführt. Der Speicherkontoname lautet mystorageaccount. Der Container heißt myfirstcontainer. Es wurde eine Speicherzugriffsrichtlinie mit Lese-, Schreib-, Lösch- und Listenrechten erstellt. Die SQL Server-Anmeldeinformationen wurden mithilfe einer freigegebenen Zugriffssignatur erstellt, https://mystorageaccount.blob.core.windows.net/myfirstcontainerdie dem geheimen Speicherzugriffsrichtlinienschlüssel zugeordnet ist. Informationen zur SQL Server-Sicherung in Microsoft Azure Blob Storage finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Microsoft Azure Blob Storage und SQL Server-Sicherung über URLs.

-- Prerequisite to have write permissions
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/myfirstcontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=...' -- Enter your secret SAS token here.

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

Verwenden Sie dieses Beispiel, um eine kopiegeschützte Sicherung zu übernehmen, die in mehrere Streifen unterteilt ist:

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-04.bak'
WITH COPY_ONLY;

D: Nutzen von PowerShell

In diesem Beispiel wird eine kopiegeschützte Sicherung für die Datenbank erstellt, die Sales den -CopyOnly Parameter verwendet.

Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly

Erstellen einer vollständigen oder Protokollsicherung

Nur Kopieren-Sicherungen anzeigen

Einrichten und Verwenden des SQL Server PowerShell-Anbieters