Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Eine Kopiesicherung ist ein SQL Server-Backup, das von der Sequenz konventioneller SQL Server-Backups unabhängig 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. Manchmal kann es sich jedoch als nützlich erweisen, eine Datensicherung für einen bestimmten Zweck vorzunehmen, ohne die allgemeinen Sicherungs- und Wiederherstellungsprozeduren für die Datenbank zu beeinflussen. Nur-Kopie-Sicherungen dienen diesem Zweck.
Typen von Nur-Kopiersicherungen
Die Typen von Nur-Kopie-Sicherungen sind wie folgt:
Nur vollständige Sicherungen kopieren (alle Wiederherstellungsmodelle)
Eine Copy-Only-vollständige Sicherung kann nicht als Differentialbasis oder Differentialdatensicherung dienen und beeinflusst die Differentialbasis nicht.
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 Copy-Only-Protokollsicherung behält den vorhandenen Protokollarchivpunkt bei und wirkt sich demzufolge nicht auf die Sequenzierung regulärer Protokollsicherungen aus. Reine Kopiesicherungen des Transaktionsprotokolls sind in der Regel nicht erforderlich. Stattdessen können Sie eine neue Routineprotokollsicherung erstellen und diese Sicherung (mithilfe der
WITH NORECOVERYOption) zusammen mit allen vorherigen Protokollsicherungen wiederherstellen, die für die Wiederherstellungssequenz erforderlich sind.Eine Protokollsicherung nur als Kopie kann manchmal hilfreich sein, um eine Online-Wiederherstellung auszuführen. Weitere Informationen finden Sie in den Anweisungen im Artikel Beispiel: Onlinewiederherstellung einer Datei mit Lese-/Schreibzugriff (vollständiges Wiederherstellungsmodell). Verwenden Sie stattdessen Kopiesicherungsdateien.
Nach einer Nur-Kopie-Sicherung wird das Transaktionsprotokoll nie gekürzt.
Bemerkungen
Copy-Only-Sicherungen werden in der is_copy_only-Spalte der backupset-Tabelle gespeichert.
In Azure SQL Managed Instance können keine Kopiesicherungen für Datenbanken erstellt werden, die mit TDE (Transparent Data Encryption) mit Verwaltung durch einen Dienst verschlüsselt sind. Bei TDE mit Verwaltung durch einen Dienst wird ein interner Schlüssel zum Verschlüsseln von Daten verwendet. Dieser Schlüssel kann nicht exportiert werden, weshalb Sie die Sicherung nicht woanders speichern können. 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.
Kopiesicherung erstellen
Sie können eine kopiegeschützte Sicherung mit SQL Server Management Studio, Transact-SQL oder PowerShell erstellen.
A. Verwenden von SQL Server Management Studio
In diesem Beispiel wird eine Nur-Kopie-Sicherung der Sales-Datenbank am Standardsicherungsspeicherort auf Datenträger gesichert.
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der SQL Server-Datenbank-Engine her, und erweitern Sie anschließend diese Instanz.
Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf
Sales, zeigen Sie auf Aufgaben und wählen Sie dann Sichern... aus.Aktivieren Sie auf der Seite Allgemein im Abschnitt Quelle das Kontrollkästchen Kopiesicherung.
Wählen Sie OK aus.
B. Verwenden von Transact-SQL
In diesem Beispiel wird für die Sales-Datenbank unter Verwendung des Parameters COPY_ONLY eine ausschließliche Kopiesicherung erstellt. Es wird auch eine Nur-Kopie-Sicherung des Transaktionsprotokolls 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 ist wirkungslos, wenn gleichzeitig die Option DIFFERENTIAL angegeben wird.
C. Verwenden von Transact-SQL und Azure SQL Managed Instance
Azure SQL Managed Instance unterstützt das Erstellen COPY_ONLY vollständiger Sicherungen. Im Beispiel wird eine COPY_ONLY Sicherung auf den Microsoft Azure Blob Storage von MyDatabase ausgeführt. Der Speicherkontoname lautet mystorageaccount. Der Container heißt myfirstcontainer. Eine Speicherzugriffsrichtlinie wird mit Lese-, Schreib-, Lösch- und Listenrechten erstellt. Die Anmeldeinformation für SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, wurde mit einer Shared Access Signature (SAS) erstellt, die dem Geheimnis der Speicher-Zugriffsrichtlinie zugeordnet ist. Informationen zur SQL Server-Sicherung im Microsoft Azure Blob Storage finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Azure Blob Storage und SQL Server-Sicherung zu URL für Microsoft Azure Blob Storage.
-- 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 folgendes Beispiel, um eine Nur-Kopie-Sicherung zu erstellen, die auf mehrere Stripes verteilt 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. Verwenden von PowerShell
In diesem Beispiel wird mithilfe des Parameters -CopyOnly eine Nur-Kopie-Sicherung der Datenbank Sales erstellt.
Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly