Differenzielle Sicherungen (SQL Server)Differential Backups (SQL Server)

Dieses Thema gilt für: JaSQL ServerkeineAzure SQL-DatenbankkeineAzure SQL Data Warehouse keine Parallel DatawarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse Dieses Thema zu Sicherung und Wiederherstellung ist für alle SQL ServerSQL Server-Datenbanken relevant. This backup and restore topic is relevant for all SQL ServerSQL Server databases.

Eine differenzielle Sicherung basiert auf der aktuellsten, zuvor ausgeführten vollständigen Datensicherung.A differential backup is based on the most recent, previous full data backup. Mit einer differenziellen Sicherung werden nur die Daten erfasst, die sich seit dieser vollständigen Sicherung geändert haben.A differential backup captures only the data that has changed since that full backup. Die vollständige Sicherung, auf der eine differenzielle Sicherung basiert wird, wird als Basis der differenziellen Sicherung bezeichnet.The full backup upon which a differential backup is based is known as the base of the differential. Vollständige Sicherungen, mit Ausnahme von Kopiesicherungen, können als Basis für eine Reihe differenzieller Sicherungen dienen, einschließlich Datenbanksicherungen, Teilsicherungen und Dateisicherungen.Full backups, except for copy-only backups, can serve as the base for a series of differential backups, including database backups, partial backups, and file backups. Die Basissicherung für eine differenzielle Dateisicherung kann in einer vollständigen Sicherung, einer Dateisicherung oder einer Teilsicherung enthalten sein.The base backup for a file differential backup can be contained within a full backup, a file backup, or a partial backup.

VorteileBenefits

  • Die Erstellung einer differenziellen Sicherung kann im Vergleich zur Erstellung einer vollständigen Sicherung sehr schnell gehen.Creating a differential backups can be very fast compared to creating a full backup. Bei einer differenziellen Sicherung werden nur die seit der letzten vollständigen Sicherung auf Basis der differenziellen Sicherung geänderten Daten aufgezeichnet.A differential backup records only the data that has changed since the full backup upon the differential backup is based. Dadurch werden häufige Datensicherungen erleichtert, wodurch das Risiko des Datenverlusts verringert wird.This facilitates taking frequent data backups, which decrease the risk of data loss. Vor der Wiederherstellung einer differenziellen Sicherung muss jedoch die entsprechende Basis wiederhergestellt werden.However, before you restore a differential backup, you must restore its base. Daher sind bei der Wiederherstellung von einer differenziellen Sicherung mehr Schritte und mehr Zeit erforderlich als bei der Wiederherstellung von einer vollständigen Sicherung, da zwei Sicherungsdateien benötigt werden.Therefore restoring from a differential backup will necessarily take more steps and time than restoring from a full backup because two backup files are required.

  • Differenzielle Datenbanksicherungen sind besonders dann hilfreich, wenn eine Teilmenge einer Datenbank häufiger geändert wird als die übrigen Daten der Datenbank.Differential database backups are especially useful if a subset of a database is modified more frequently than the rest of the database. In diesen Fällen ermöglichen differenzielle Datenbanksicherungen eine häufige Sicherung ohne den hohen Verwaltungsaufwand vollständiger Datenbanksicherungen.In these cases, differential database backups enable you back up frequently without the overhead of full database backups.

  • Bei Verwendung des vollständigen Wiederherstellungsmodells kann mithilfe differenzieller Sicherungen die Anzahl der Protokollsicherungen reduziert werden, die wiederhergestellt werden müssen.Under the full recovery model, using differential backups can reduce the number of log backups that you have to restore.

Übersicht über differenzielle SicherungenOverview of Differential Backups

Bei einer differenziellen Sicherung wird der Status aller Blöcke (Sammlungen von acht physisch zusammenhängenden Seiten) erfasst, die sich zwischen dem Erstellungszeitpunkt der differenziellen Datenbank und dem Erstellungszeitpunkt der differenziellen Sicherung geändert hat.A differential backup captures the state of any extents (collections of eight physically contiguous pages) that have changed between when the differential base was created and the when differential backup is created. Das bedeutet, dass die Größe einer bestimmten differenziellen Sicherung von der Menge an Daten abhängt, die seit der Basissicherung geändert wurden.This means that the size of a given differential backup depends on the amount of data that has changed since the base. Grundsätzlich gilt: Je älter die Basis, desto größer die neue differenzielle Sicherung.Generally, the older a base is, the larger a new differential backup will be. In einer Reihe differenzieller Sicherungen enthält ein häufig aktualisierter Block möglicherweise bei jeder differenziellen Sicherung unterschiedliche Daten.In a series of differential backups, a frequently updated extent is likely to contain different data in each differential backup.

In der folgenden Abbildung wird die Funktionsweise einer differenziellen Sicherung veranschaulicht.The following illustration shows how a differential backup works. Die Abbildung zeigt 24 Datenblöcke, von denen sechs geändert wurden.The figure shows 24 data extents, 6 of which have changed. Die differenzielle Sicherung enthält nur diese sechs Datenblöcke.The differential backup contains only these 6 data extents. Der differenzielle Sicherungsvorgang basiert auf einer Bitmapseite, die für jeden Block ein Bit enthält.The differential backup operation relies on a bitmap page that contains a bit for every extent. Für jeden seit der Basissicherung aktualisierten Block wird das Bit in der Bitmap auf 1 festgelegt.For each extent updated since the base, the bit is set to 1 in the bitmap.

Differenzielle Bitmuster werden geänderte Blöcke identifiziertDifferential bitmap identifies changed extents

Hinweis

Durch eine Kopiesicherung erfolgt keine Aktualisierung des differenziellen Bitmusters.The differential bitmap is not updated by a copy-only backup. Daher hat eine Kopiesicherung keine Auswirkungen auf die nachfolgenden differenziellen Sicherungen.Therefore, a copy-only backup does not affect subsequent differential backups.

Eine differenzielle Sicherung wird relativ bald erstellt, nachdem die zugehörige Basis erheblich kleiner geworden ist als die differenzielle Basis.A differential backup that is taken fairly soon after its base is usually significantly smaller than the differential base. Hierdurch wird Speicherplatz gespart und der Zeitaufwand für die Sicherung reduziert.This saves storage space and backup time. Im Laufe der Zeit wird aufgrund der in der Datenbank vorgenommenen Änderungen der Unterschied zwischen der Datenbank und einer bestimmten differenziellen Basis jedoch immer größer.However, as a database changes over time, the difference between the database and a specific differential base increases. Je mehr Zeit zwischen einer differenziellen Sicherung und der zugehörigen Basis liegt, desto umfangreicher wird die differenzielle Sicherung ausfallen.The longer the time between a differential backup and its base, the larger the differential backup is likely to be. Dies bedeutet, dass letztendlich differenzielle Sicherungen nahezu die Größe der differenziellen Basis erreichen können.This means that the differential backups can eventually approach the differential base in size. Bei einer großen differenziellen Sicherung geht der Vorteil des schnelleren Sicherns und des geringeren Umfangs verloren.A large differential backup loses the advantages of a faster and smaller backup.

Mit zunehmender Größe der differenziellen Sicherungen kann das Wiederherstellen einer differenziellen Sicherung den Zeitaufwand zum Wiederherstellen einer Datenbank erheblich erhöhen.As the differential backups increase in size, restoring a differential backup can significantly increase the time that is required to restore a database. Daher sollten Sie in regelmäßigen Abständen neue vollständige Sicherungen ausführen, um eine neue differenzielle Basis für die Daten zu erstellen.Therefore, we recommend that you take a new full backup at set intervals to establish a new differential base for the data. Sie können z. B. einmal wöchentlich eine vollständige Sicherung der gesamten Datenbank (also eine vollständige Datenbanksicherung) und während der Woche eine regelmäßige Serie von differenziellen Datenbanksicherungen ausführen.For example, you might take a weekly full backup of the whole database (that is, a full database backup) followed by a regular series of differential database backups during the week.

Beim Wiederherstellen müssen Sie die Basis wiederherstellen, bevor Sie eine differenzielle Sicherung wiederherstellen.At restore time, before you restore a differential backup, you must restore its base. Anschließend müssen Sie lediglich die letzte differenzielle Sicherung wiederherstellen, um die Datenbank auf den Stand dieser differenziellen Sicherung zu bringen.Then, restore only the most recent differential backup to bring the database forward to the time when that differential backup was created. Normalerweise stellen Sie die letzte vollständige Sicherung und anschließend die letzte differenzielle Sicherung, die auf dieser vollständigen Sicherung basiert, wieder her.Typically, you would restore the most recent full backup followed by the most recent differential backup that is based on that full backup.

Differenzielle Sicherungen von Datenbanken mit speicheroptimierten TabellenDifferential Backups of Databases with Memory-Optimized Tables

Weitere Informationen zu differenziellen Sicherungen und Datenbanken mit speicheroptimierten Tabellen finden Sie unter Sichern einer Datenbank mit speicheroptimierten Tabellen.For information about differential backups and databases with memory-optimized tables, see Backing Up a Database with Memory-Optimized Tables.

Differenzielle Sicherungen schreibgeschützter DatenbankenDifferential Backups of Read-Only Databases

Für schreibgeschützte Datenbanken sind separate vollständige Sicherungen einfacher zu verwalten als wenn sie zusammen mit differenziellen Sicherungen verwendet werden.For read-only databases, full backups used alone are easier to manage than when they are used with differential backups. Wenn eine Datenbank schreibgeschützt ist, können mit Sicherungen und sonstigen Vorgängen die Metadaten in der Datei nicht geändert werden.When a database is read-only, backup and other operations cannot change the metadata that is contained in the file. Deshalb werden die für eine differenzielle Sicherung erforderlichen Metadaten, z.B. die Protokollfolgenummer (Log Sequence Number, LSN), mit der die differenzielle Sicherung beginnt (die Basis-LSN für eine differenzielle Sicherung), in der master -Datenbank gespeichert.Therefore, metadata that is required by a differential backup, such as the log sequence number at which the differential backup begins (the differential base LSN) is stored in the master database. Wenn die differenzielle Basis erstellt wird, während die Datenbank schreibgeschützt ist, zeigt das differenzielle Bitmuster mehr Änderungen an als tatsächlich seit der Basissicherung erfolgt sind.If the differential base is taken when the database is read-only, the differential bitmap indicates more changes than have actually occurred since the base backup. Die zusätzlichen Daten werden durch die Sicherung gelesen, jedoch nicht in die Sicherung geschrieben, da die in der backupset -Systemtabelle gespeicherte differential_base_lsn verwendet wird, um zu ermitteln, ob die Daten seit der Basissicherung tatsächlich geändert wurden.The extra data is read by backup, but is not written to the backup, because the differential_base_lsn stored in the backupset system table is used to determine whether the data has actually changed since the base.

Wenn eine schreibgeschützte Datenbank neu erstellt, wiederhergestellt oder getrennt und dann angefügt wird, gehen die Informationen zur differenziellen Basis verloren.When a read-only database is rebuilt, restored, or detached and attached, the differential-base information is lost. Dies passiert, da die master -Datenbank nicht mit der Benutzerdatenbank synchronisiert wird.This occurs because the master database is not synchronized with the user database. Mit SQL Server-DatenbankmodulSQL Server Database Engine kann dieses Problem nicht erkannt oder verhindert werden.The SQL Server-DatenbankmodulSQL Server Database Engine cannot detect or prevent this problem. Spätere differenzielle Sicherungen basieren nicht auf der letzten vollständigen Sicherung und können zu unerwarteten Ergebnissen führen.Any later differential backups are not based on the most recent full backup and could provide unexpected results. Zum Einrichten einer neuen differenziellen Basis wird empfohlen, eine vollständige Datenbanksicherung zu erstellen.To establish a new differential base, we recommend that you create a full database backup.

Bewährte Methoden für die Verwendung differenzieller Sicherungen mit einer schreibgeschützten DatenbankBest Practices for Using Differential Backups with a Read-Only Database

Wenn Sie eine vollständige Sicherung einer schreibgeschützten Datenbank erstellt haben und nachfolgend eine differenzielle Sicherung erstellen möchten, sichern Sie die master -Datenbank.After you create a full database backup of a read-only database, if you intend to create a subsequent differential backup, back up the master database.

Wenn die master -Datenbank verloren geht, stellen Sie sie wieder her, bevor Sie differenzielle Sicherungen einer Benutzerdatenbank wiederherstellen.If the master database is lost, restore it before you restore any differential backup of a user database.

Wenn Sie eine schreibgeschützte Datenbank, für die Sie später differenzielle Sicherungen verwenden möchten, trennen und anfügen, sollten Sie möglichst bald eine vollständige Datenbanksicherung der schreibgeschützten Datenbank und der master -Datenbank erstellen.If you detach and attach a read-only database for which you plan to later use differential backups, as soon as it is practical, take a full database backup of both the read-only database and of the master database.

Verwandte AufgabenRelated Tasks

Weitere Informationen finden Sie unterSee Also

Übersicht über Sicherungen (SQL Server) Backup Overview (SQL Server)
Vollständige Datenbanksicherungen (SQL Server) Full Database Backups (SQL Server)
Vollständige Datenbankwiederherstellungen (vollständiges Wiederherstellungsmodell) Complete Database Restores (Full Recovery Model)
Vollständige Datenbankwiederherstellungen (einfaches Wiederherstellungsmodell) Complete Database Restores (Simple Recovery Model)
Transaktionsprotokollsicherungen (SQL Server)Transaction Log Backups (SQL Server)