Datenbank-Momentaufnahmen (SQL Server)Database Snapshots (SQL Server)

Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions)

Eine Datenbankmomentaufnahme ist eine schreibgeschützte statische Sicht einer SQL ServerSQL Server -Datenbank (die Quelldatenbank).A database snapshot is a read-only, static view of a SQL ServerSQL Server database (the source database). Die Datenbankmomentaufnahme ist hinsichtlich der Transaktionen mit der Quelldatenbank zum Zeitpunkt der Momentaufnahmeerstellung konsistent.The database snapshot is transactionally consistent with the source database as of the moment of the snapshot's creation. Eine Datenbankmomentaufnahme befindet sich immer auf derselben Serverinstanz wie ihre Quelldatenbank.A database snapshot always resides on the same server instance as its source database. Während Datenbankmomentaufnahmen eine schreibgeschützte Ansicht der Daten im selben Zustand bereitstellen, in dem die Momentaufnahme erstellt wurde, wächst die Größe der Momentaufnahmendatei, wenn Änderungen an der Quelldatenbank vorgenommen werden.While database snapshots provide a read-only view of the data in the same state as when the snapshot was created, the size of the snapshot file grows as changes are made to the source database. Weitere Informationen finden Sie weiter unten im Abschnitt mit der Funktionsübersicht.For details, see the Feature Overview section below.

In einer bestimmten Quelldatenbank können mehrere Momentaufnahmen vorhanden sein.Multiple snapshots can exist on a given source database. Jede Datenbankmomentaufnahme ist so lange vorhanden, bis sie explizit vom Datenbankbesitzer gelöscht wird.Each database snapshot persists until it is explicitly dropped by the database owner.

Hinweis

Datenbank-Momentaufnahmen stehen in keinerlei Zusammenhang mit Momentaufnahmesicherungen, Momentaufnahmeisolationen von Transaktionen oder Momentaufnahmereplikationen.Database snapshots are unrelated to snapshot backups, snapshot isolation of transactions, or snapshot replication.

In diesem Thema:In this Topic:

Übersicht über die FunktionenFeature Overview

Datenbankmomentaufnahmen arbeiten auf der Ebene der Datenseiten.Database snapshots operate at the data-page level. Bevor eine Seite der Quellendatenbank zum ersten Mal geändert wird, wird die Originalseite der Quellendatenbank auf die Momentaufnahme kopiert.Before a page of the source database is modified for the first time, the original page is copied from the source database to the snapshot. In der Momentaufnahme wird die Originalseite gespeichert, wodurch die Datensätze in dem Zustand erhalten werden, wie sie zum Zeitpunkt der Momentaufnahmeerstellung vorhanden waren.The snapshot stores the original page, preserving the data records as they existed when the snapshot was created. Der gleiche Vorgang wird für jede Seite wiederholt, die zum ersten Mal geändert wird.The same process is repeated for every page that is being modified for the first time. Für den Benutzer scheint sich eine Datenbankmomentaufnahme niemals zu ändern, weil von Lesevorgängen auf einer Datenbankmomentaufnahme immer auf die Originaldatenseiten zugegriffen wird, unabhängig von deren Speicherort.To the user, a database snapshot appears never to change, because read operations on a database snapshot always access the original data pages, regardless of where they reside.

Um die kopierten Originalseiten zu speichern, wird von der Momentaufnahme mindestens eine Sparsedateiverwendet.To store the copied original pages, the snapshot uses one or more sparse files. Ursprünglich ist eine Sparsedatei im Wesentlichen eine leere Datei, die keine Benutzerdaten enthält und für die noch kein Speicherplatz für Benutzerdaten auf einem Speichermedium zugeordnet worden ist.Initially, a sparse file is an essentially empty file that contains no user data and has not yet been allocated disk space for user data. Je mehr Seiten in der Quellendatenbank aktualisiert werden, desto größer wird die Datei.As more and more pages are updated in the source database, the size of the file grows. Die folgende Abbildung veranschaulicht die Auswirkungen zweier unterschiedlicher Updatemuster auf die Größe einer Momentaufnahme.The following figure illustrates the effects of two contrasting update patterns on the size of a snapshot. Das Updatemuster A spiegelt eine Umgebung wider, in der nur 30 Prozent der Originalseiten während der Lebensspanne der Momentaufnahme aktualisiert werden.Update pattern A reflects an environment in which only 30 percent of the original pages are updated during the life of the snapshot. Das Updatemuster B spiegelt eine Umgebung wider, in der 80 Prozent der Originalseiten während der Lebensspanne der Momentaufnahme aktualisiert werden.Update pattern B reflects an environment in which 80 percent of the original pages are updated during the life of the snapshot.

Alternative Updatemuster und MomentaufnahmegrößenAlternative update patterns and snapshot size

Vorteile der DatenbankmomentaufnahmenBenefits of Database Snapshots

  • Momentaufnahmen können zur Berichterstellung verwendet werden.Snapshots can be used for reporting purposes.

    Datenbankmomentaufnahmen können auch von den Clients abgefragt werden und sind daher beim Schreiben von Berichten hilfreich, die auf den zum Zeitpunkt der Momentaufnahmeerstellung verfügbaren Daten basieren.Clients can query a database snapshot, which makes it useful for writing reports based on the data at the time of snapshot creation.

  • Verwalten von Vergangenheitsdaten zur Berichterstellung.Maintaining historical data for report generation.

    Eine Momentaufnahme kann Benutzerzugriff auf Daten eines bestimmten Zeitpunkts erweitern.A snapshot can extend user access to data from a particular point in time. Beispielsweise können Sie eine Datenbankmomentaufnahme am Ende einer bestimmten Periode (z. B. ein Geschäftsquartal) erstellen, um später auf dieser Grundlage einen Bericht zu generieren.For example, you can create a database snapshot at the end of a given time period (such as a financial quarter) for later reporting. Auf diese Weise können Sie Quartalsabschlussberichte in der Momentaufnahme ausführen.You can then run end-of-period reports on the snapshot. Bei ausreichendem Speicherplatz können Sie diese Quartalsabschluss-Momentaufnahmen für unbestimmte Zeit aufbewahren. Darüber hinaus können Sie zu den Ergebnissen dieser Quartale Abfragen ausführen, z. B. um die Leistung des Unternehmens zu ermitteln.If disk space permits, you can also maintain end-of-period snapshots indefinitely, allowing queries against the results from these periods; for example, to investigate organizational performance.

  • Verwenden einer Spiegeldatenbank, die aus Gründen der Verfügbarkeit verwaltet wird, für die ausgelagerte Berichterstellung.Using a mirror database that you are maintaining for availability purposes to offload reporting.

    Wenn Sie Datenbankmomentaufnahmen mit Datenbankspiegelungen verwenden, können Sie die auf dem Spiegelserver gespeicherten Daten für die Berichterstellung zugreifbar machen.Using database snapshots with database mirroring permits you to make the data on the mirror server accessible for reporting. Darüber hinaus können Sie in der Spiegeldatenbank Abfragen ausführen und so auf dem Prinzipal Ressourcen freigeben.Additionally, running queries on the mirror database can free up resources on the principal. Weitere Informationen finden Sie unter Datenbankspiegelung und Datenbankmomentaufnahmen (SQL Server)verwendet.For more information, see Database Mirroring and Database Snapshots (SQL Server).

  • Schützen der Daten vor administrativen Fehlern.Safeguarding data against administrative error.

  • Sie können bei einem Benutzerfehler auf einer Quellendatenbank die Quellendatenbank in den Zustand zurückversetzen, in der sie zum Zeitpunkt der Erstellung einer bestimmten Datenbankmomentaufnahme gewesen ist.In the event of a user error on a source database, you can revert the source database to the state it was in when a given database snapshot was created. Der Datenverlust beschränkt sich auf Updates der Datenbank, die nach der Erstellung der Momentaufnahme vorgenommen wurden.Data loss is confined to updates to the database since the snapshot's creation.

    Beispiel: Vor dem Ausführen wesentlicher Updates, wie beispielsweise eines Massenupdates oder einer Schemaänderung, sollten Sie die Daten sichern, indem Sie eine Datenbankmomentaufnahme von der Datenbank erstellen.For example, before doing major updates, such as a bulk update or a schema change, create a database snapshot on the database protects data. Im Falle eines Fehlers können Sie die Datenbank mithilfe des Snapshots in dem Status wiederherstellen, der bei Erstellen des Snapshots vorlag.If you make a mistake, you can use the snapshot to recover by reverting the database to the snapshot. Diese Art der Wiederherstellung kann für diesen Zweck potenziell schneller ausgeführt werden als die Wiederherstellung von Daten aus einer Sicherung. Allerdings können Sie anschließend keinen Rollforward ausführen.Reverting is potentially much faster for this purpose than restoring from a backup; however, you cannot roll forward afterward.

    Wichtig

    Die Wiederherstellung kann nicht für Offlinedatenbanken oder für beschädigte Datenbanken verwendet werden.Reverting does not work in an offline or corrupted database. Regelmäßige Sicherungen und Tests des Wiederherstellungsplans sind deshalb für den Schutz einer Datenbank erforderlich.Therefore, taking regular backups and testing your restore plan are necessary to protect a database.

    Hinweis

    Datenbankmomentaufnahmen sind von der Quelldatenbank abhängig.Database snapshots are dependent on the source database. Die Wiederherstellung von Datenbanken mithilfe von Datenbankmomentaufnahmen stellt daher keinen Ersatz für eine reguläre Sicherungs- und Wiederherstellungsstrategie dar.Therefore, using database snapshots for reverting a database is not a substitute for your backup and restore strategy. Daher ist es wichtig, dass Sie die Sicherungen wie geplant ausführen.Performing all your scheduled backups remains essential. Wenn Sie die Quelldatenbank zu dem Zeitpunkt wiederherstellen müssen, an dem Sie eine Datenbankmomentaufnahme erstellt haben, implementieren Sie eine Sicherungsrichtlinie, die Ihnen dies ermöglicht.If you must restore the source database to the point in time at which you created a database snapshot, implement a backup policy that enables you to do that.

  • Schützen der Daten vor Benutzerfehlern.Safeguarding data against user error.

    Indem Sie regelmäßig Datenbankmomentaufnahmen erstellen, können Sie die Auswirkungen von schwerwiegenden Benutzerfehlern, z. B. eine gelöschte Tabelle, verringern.By creating database snapshots on a regular basis, you can mitigate the impact of a major user error, such as a dropped table. Bei einer hohen Sicherheitsstufe sollten Sie für einen ausreichend großen Zeitraum eine Reihe von Datenbankmomentaufnahmen erstellen, sodass die meisten Benutzerfehler erkannt werden und entsprechend reagiert werden kann.For a high level of protection, you can create a series of database snapshots spanning enough time to recognize and respond to most user errors. Beispielsweise können Sie je nach den verfügbaren Datenträgerressourcen für einen 24-Stunden-Zyklus 6 bis 12 parallele Momentaufnahmen verwalten.For instance, you might maintain 6 to 12 rolling snapshots spanning a 24-hour interval, depending on your disk resources. Immer wenn eine neue Momentaufnahme erstellt wird, kann die jeweils älteste Momentaufnahme gelöscht werden.Then, each time a new snapshot is created, the earliest snapshot can be deleted.

    • Bei der Wiederherstellung im Falle eines Benutzerfehlers können Sie die Datenbank in dem Status des Snapshots wiederherstellen, der unmittelbar vor Auftreten des Fehlers erstellt wurde.To recover from a user error, you can revert the database to the snapshot immediately before the error. Diese Art der Wiederherstellung kann für diesen Zweck potenziell schneller ausgeführt werden als die Wiederherstellung von Daten aus einer Sicherung. Allerdings können Sie anschließend keinen Rollforward ausführen.Reverting is potentially much faster for this purpose than restoring from a backup; however, you cannot roll forward afterward.

    • Wahlweise können Sie eine gelöschte Tabelle oder andere verlorene Daten auch auf Basis der in einer Momentaufnahme verfügbaren Informationen wiederherstellen.Alternatively, you may be able to manually reconstruct a dropped table or other lost data from the information in a snapshot. Beispielsweise können Sie die Daten aus der Momentaufnahme in die Datenbank massenkopieren und die Daten manuell mit den in der Datenbank gespeicherten Daten zusammenführen.For instance, you could bulk copy the data out of the snapshot into the database and manually merge the data back into the database.

    Hinweis

    Die jeweiligen Gründe für die Verwendung von Datenbankmomentaufnahmen entscheiden darüber, wie viele gleichzeitige Momentaufnahmen von einer Datenbank benötigt werden, wie regelmäßig eine neue Momentaufnahme erstellt wird und wie lange eine Momentaufnahme aufbewahrt wird.Your reasons for using database snapshots determine how many concurrent snapshots you need on a database, how frequently to create a new snapshot, and how long to keep it.

  • Verwalten einer TestdatenbankManaging a test database

    In einer Testumgebung kann es hilfreich sein, wenn beim wiederholten Ausführen eines Testprotokolls die Datenbank zu Beginn jeder Testrunde immer dieselben Daten enthält.In a testing environment, it can be useful when repeatedly running a test protocol for the database to contain identical data at the start of each round of testing. Vor der ersten Testrunde kann ein Anwendungsentwickler oder -tester eine Datenbankmomentaufnahme für die Testdatenbank erstellen.Before running the first round, an application developer or tester can create a database snapshot on the test database. Nach jeder Testrunde kann die Datenbank durch Wiederherstellen des Datenbankmomentaufnahmen schnell wieder in den früheren Zustand zurückversetzt werden.After each test run, the database can be quickly returned to its prior state by reverting the database snapshot.

Begriffe und DefinitionenTerms and Definitions

Datenbank-Momentaufnahmedatabase snapshot
Eine im Hinblick auf Transaktionen konsistente, schreibgeschützte statische Sicht einer Datenbank (die Quelldatenbank).A transactionally consistent, read-only, static view of a database (the source database).

Quelldatenbanksource database
Bei einer Datenbankmomentaufnahme die Datenbank, für die die Momentaufnahme erstellt wurde.For a database snapshot, the database on which the snapshot was created. Datenbankmomentaufnahmen sind von der Quelldatenbank abhängig.Database snapshots are dependent on the source database. Die Momentaufnahmen einer Datenbank müssen sich auf der gleichen Serverinstanz wie die Datenbank selbst befinden.The snapshots of a database must be on the same server instance as the database. Ist diese Datenbank außerdem aus irgendeinem Grund nicht verfügbar, stehen die zugehörigen Datenbankmomentaufnahmen ebenfalls nicht zur Verfügung.Furthermore, if that database becomes unavailable for any reason, all of its database snapshots also become unavailable.

Sparsedateisparse file
Eine vom NTFS-Dateisystem bereitgestellte Datei, die so verarbeitet wird, dass sie viel weniger Speicherplatz benötigt als bei gewöhnlicher Verarbeitung.A file provided by the NTFS file system that requires much less disk space than would otherwise be needed. Eine Sparsedatei wird zum Speichern von in eine Datenbankmomentaufnahme kopierten Seiten verwendet.A sparse file is used to store pages copied to a database snapshot. Unmittelbar nach dem Erstellen beanspruchen Sparsedateien nur wenig Speicherplatz.When first created, a sparse file takes up little disk space. Während Daten in eine Datenbankmomentaufnahme geschrieben werden, ordnet NTFS der entsprechenden Sparsedatei schrittweise den Speicherplatz zu.As data is written to a database snapshot, NTFS allocates disk space gradually to the corresponding sparse file.

Voraussetzungen und Einschränkungen bei DatenbankmomentaufnahmenPrerequisites for and Limitations on Database Snapshots

In diesem Abschnitt:In This Section:

VoraussetzungenPrerequisites

Die Quelldatenbank, die ein Wiederherstellungsmodell verwenden kann, muss die folgenden Voraussetzungen erfüllen:The source database, which can use any recovery model, must meet the following prerequisites:

  • Die Serverinstanz muss auf einer Edition von SQL ServerSQL Server ausgeführt werden, die Datenbankmomentaufnahmen unterstützt.The server instance must be running on an edition of SQL ServerSQL Server that supports database snapshots. Weitere Informationen finden Sie unter Von den SQL Server 2016-Editionen unterstützte Funktionen.For more information, see Features Supported by the Editions of SQL Server 2016.

  • Die Quelldatenbank muss online sein, es sei denn, bei der Datenbank handelt es sich um eine Spiegeldatenbank innerhalb einer Datenbank-Spiegelungssitzung.The source database must be online, unless the database is a mirror database within a database mirroring session.

  • Sie können auf jeder primären oder sekundären Datenbank in einer Verfügbarkeitsgruppe eine Datenbankmomentaufnahme erstellen.You can create a database snapshot on any primary or secondary database in an availability group. Die Replikatrolle muss entweder PRIMARY oder SECONDARY sein und darf nicht den Status RESOLVING aufweisen.The replica role must be either PRIMARY or SECONDARY, not in the RESOLVING state.

    Der Datenbanksynchronisierungsstatus sollte SYNCHRONIZING oder SYNCHRONIZED sein, wenn Sie eine Datenbankmomentaufnahme erstellen.We recommend that the database synchronization state be SYNCHRONIZING or SYNCHRONIZED when you create a database snapshot. Datenbankmomentaufnahmen können jedoch auch erstellt werden, wenn der Datenbanksynchronisierungsstatus NOT SYNCHRONIZING lautet.However, database snapshots can be created when the database synchronization state is NOT SYNCHRONIZING.

    Weitere Informationen finden Sie unter Datenbankmomentaufnahmen bei Always On-Verfügbarkeitsgruppen (SQL Server).For more information, see Database Snapshots with Always On Availability Groups (SQL Server).

  • Zum Erstellen einer Datenbankmomentaufnahme für die Spiegeldatenbank muss sich die Datenbank im synchronisierten Spiegelungsstatus befinden.To create a database snapshot on a mirror database, the database must be in the SYNCHRONIZED mirroring state.

  • Die Quelldatenbank kann nicht als skalierbare freigegebene Datenbank konfiguriert werden.The source database cannot be configured as a scalable shared database.

  • Die Quelldatenbank darf keine MEMORY_OPTIMIZED_DATA-Dateigruppe enthalten.The source database must not contain a MEMORY_OPTIMIZED_DATA filegroup. Weitere Informationen finden Sie unter Nicht unterstützte SQL Server-Features für In-Memory OLTP.For more information, see Unsupported SQL Server Features for In-Memory OLTP.

Hinweis

Alle Wiederherstellungsmodelle unterstützen Datenbankmomentaufnahmen.All recovery models support database snapshots.

Einschränkungen für die QuelldatenbankLimitations on the Source Database

Solange eine Datenbankmomentaufnahme vorhanden ist, sind die folgenden Einschränkungen für die Quelldatenbank der Momentaufnahme vorhanden:As long as a database snapshot exists, the following limitations exist on the snapshot's source database:

  • Die Datenbank kann nicht gelöscht, getrennt oder wiederhergestellt werden.The database cannot be dropped, detached, or restored.

    Hinweis

    Das Sichern der Quelldatenbank arbeitet normal. Datenbankmomentaufnahmen haben hierauf keine Auswirkungen.Backing up the source database works normally; it is unaffected by database snapshots.

  • Die Leistung ist aufgrund einer Erhöhung der E/A-Vorgänge in der Quelldatenbank reduziert. Diese Erhöhung wird dadurch verursacht, dass bei jeder Aktualisierung einer Seite ein Kopie-bei-Schreibvorgang in der Momentaufnahme ausgeführt wird.Performance is reduced, due to increased I/O on the source database resulting from a copy-on-write operation to the snapshot every time a page is updated.

  • In der Quelldatenbank oder in den Momentaufnahmen können keine Dateien gelöscht werden.Files cannot be dropped from the source database or from any snapshots.

Einschränkungen für DatenbankmomentaufnahmenLimitations on Database Snapshots

Für Datenbankmomentaufnahmen gelten die folgenden Einschränkungen:The following limitations apply to database snapshots:

  • Eine Datenbankmomentaufnahme muss auf der gleichen Serverinstanz erstellt und gespeichert werden, auf der sich auch die Quelldatenbank befindet.A database snapshot must be created and remain on the same server instance as the source database.

  • Datenbankmomentaufnahmen gelten immer für die gesamte Datenbank.Database snapshots always work on an entire database.

  • Datenbankmomentaufnahmen sind von der Quelldatenbank abhängig und sind kein redundanter Speicher.Database snapshots are dependent on the source database and are not redundant storage. Sie schützen nicht vor Datenträgerfehlern oder anderen Formen der Beschädigung.They do not protect against disk errors or other types of corruption. Die Wiederherstellung von Datenbanken mithilfe von Datenbankmomentaufnahmen stellt daher keinen Ersatz für eine reguläre Sicherungs- und Wiederherstellungsstrategie dar.Therefore, using database snapshots for reverting a database is not a substitute for your backup and restore strategy. Daher ist es wichtig, dass Sie die Sicherungen wie geplant ausführen.Performing all your scheduled backups remains essential. Wenn Sie die Quelldatenbank zu dem Zeitpunkt wiederherstellen müssen, an dem Sie eine Datenbankmomentaufnahme erstellt haben, implementieren Sie eine Sicherungsrichtlinie, die Ihnen dies ermöglicht.If you must restore the source database to the point in time at which you created a database snapshot, implement a backup policy that enables you to do that.

  • Wenn eine Seite, die gerade in der Quelldatenbank aktualisiert wird, mithilfe von Push in eine Momentaufnahme übertragen wird und für dei Momentaufnahme dabei nicht genügend Speicherplatz vorhanden ist oder ein anderer Fehler in der Momentaufnahme auftritt, wird die Momentaufnahme fehlerverdächtig und muss gelöscht werden.When a page getting updated on the source database is pushed to a snapshot, if the snapshot runs out of disk space or encounters some other error, the snapshot becomes suspect and must be deleted.

  • Momentaufnahmen sind schreibgeschützt.Snapshots are read-only. Da sie schreibgeschützt sind, können sie nicht aktualisiert werden.Since they are read only, they cannot be upgraded. Deshalb sind Datenbankmomentaufnahmen nach einer Aktualisierung nicht mehr gültig.Therefore, database snapshots are not expected to be viable after an upgrade.

  • Momentaufnahmen der Datenbanken model, masterund tempdb sind nicht zulässig.Snapshots of the model, master, and tempdb databases are prohibited.

  • Sie können die Spezifikationen der Datenbankmomentaufnahmedateien nicht ändern.You cannot change any of the specifications of the database snapshot files.

  • Sie können in einer Datenbankmomentaufnahme keine Dateien löschen.You cannot drop files from a database snapshot.

  • Sie können Datenbankmomentaufnahmen nicht sichern oder wiederherstellen.You cannot back up or restore database snapshots.

  • Sie können Datenbankmomentaufnahmen nicht anfügen oder trennen.You cannot attach or detach database snapshots.

  • Sie können keine Datenbankmomentaufnahmen auf Partitionen mit dem FAT32-Dateisystem oder auf RAW-Partitionen erstellen.You cannot create database snapshots on FAT32 file system or RAW partitions. Die von Datenbankmomentaufnahmen verwendeten Sparsedateien werden vom NTFS-Dateisystem bereitgestellt.The sparse files used by database snapshots are provided by the NTFS file system.

  • Die Volltextindizierung wird für Datenbankmomentaufnahmen nicht unterstützt.Full-text indexing is not supported on database snapshots. Volltextkataloge werden nicht von der Quelldatenbank aus weitergegeben.Full-text catalogs are not propagated from the source database.

  • Eine Datenbankmomentaufnahme erbt die Sicherheitseinschränkungen seiner Quelldatenbank zum Zeitpunkt der Erstellung der Momentaufnahme.A database snapshot inherits the security constraints of its source database at the time of snapshot creation. Da Momentaufnahmen schreibgeschützt sind, können geerbte Berechtigungen nicht geändert werden, und an der Quelle vorgenommene Berechtigungsänderungen werden nicht in vorhandenen Momentaufnahmen wiedergegeben.Because snapshots are read-only, inherited permissions cannot be changed and permission changes made to the source will not be reflected in existing snapshots.

  • Eine Momentaufnahme gibt stets den Status von Dateigruppen zum Zeitpunkt der Erstellung der Momentaufnahmen wieder: Onlinedateigruppen bleiben online und Offlinedateigruppen offline.A snapshot always reflects the state of filegroups at the time of snapshot creation: online filegroups remain online, and offline filegroups remain offline. Weitere Informationen finden Sie unter "Datenbankmomentaufnahmen mit Offlinedateigruppen" weiter unten in diesem Thema.For more information, see "Database Snapshots with Offline Filegroups" later in this topic.

  • Wenn eine Quelldatenbank den Status RECOVERY_PENDING erhält, kann auf ihre Datenbankmomentaufnahmen möglicherweise nicht mehr zugegriffen werden.If a source database becomes RECOVERY_PENDING, its database snapshots may become inaccessible. Nachdem das Problem mit der Quelldatenbank gelöst wurde, sollten ihre Momentaufnahmen jedoch wieder verfügbar werden.After the issue on the source database is resolved, however, its snapshots should become available again.

  • Die Wiederherstellung wird für schreibgeschützte oder komprimierte NTFS-Dateien in der Datenbank nicht unterstützt.Reverting is unsupported for any NTFS read-only or NTFS compressed files in the database. Wiederherstellungsversuche für eine Datenbank mit diesen Typen von Dateigruppen schlagen fehl.Attempts to revert a database containing either of these types of filegroups will fail.

  • In einer Protokollversandkonfiguration können Datenbankmomentaufnahmen nur für die primäre Datenbank erstellt werden, nicht für eine sekundäre Datenbank.In a log shipping configuration, database snapshots can be created only on the primary database, not on a secondary database. Falls Sie die Rollen zwischen der primären Serverinstanz und einer sekundären Serverinstanz vertauschen, müssen Sie alle Datenbankmomentaufnahmen löschen, bevor Sie die primäre Datenbank als sekundäre Datenbank einrichten können.If you switch roles between the primary server instance and a secondary server instance, you must drop all the database snapshots before you can set the primary database up as a secondary database.

  • Eine Datenbankmomentaufnahme kann nicht als skalierbare freigegebene Datenbank konfiguriert werden.A database snapshot cannot be configured as a scalable shared database.

  • FILESTREAM-Dateigruppen werden von Datenbankmomentaufnahmen nicht unterstützt.FILESTREAM filegroups are not supported by database snapshots. Wenn in einer Quelldatenbank FILESTREAM-Dateigruppen vorhanden sind, werden diese in den entsprechenden Datenbankmomentaufnahmen als offline markiert, und die Datenbankmomentaufnahmen können nicht für das Zurückversetzen der Datenbank in den früheren Zustand verwendet werden.If FILESTREAM filegroups exist in a source database, they are marked as offline in its database snapshots, and the database snapshots cannot be used for reverting the database.

    Hinweis

    In einer SELECT-Anweisung, die für eine Datenbankmomentaufnahme ausgeführt wird, darf keine FILESTREAM-Spalte angegeben werden, da andernfalls die folgende Fehlermeldung zurückgegeben wird: Could not continue scan with NOLOCK due to data movement.A SELECT statement that is executed on a database snapshot must not specify a FILESTREAM column; otherwise, the following error message will be returned: Could not continue scan with NOLOCK due to data movement.

  • Wenn Statistiken zu einer schreibgeschützten Momentaufnahme fehlen oder veraltet sind, erstellt und verwaltet Datenbank-EngineDatabase Engine temporäre Statistiken in tempdb.When statistics on a read-only snapshot are missing or stale, the Datenbank-EngineDatabase Engine creates and maintains temporary statistics in tempdb. Weitere Informationen finden Sie unter Verwalten von Statistiken für Tabellen in SQL Data Warehouse.For more information, see Statistics.

Anforderungen an den DatenträgerspeicherDisk Space Requirements

Datenbankmomentaufnahmen belegen Datenträgerspeicher.Database snapshots consume disk space. Wenn für eine Datenbankmomentaufnahme nicht genügend Speicherplatz vorhanden ist, wird er als fehlerverdächtig gekennzeichnet und muss gelöscht werden.If a database snapshot runs out of disk space, it is marked as suspect and must be dropped. (Auf die Quelldatenbank hat dies jedoch keine Auswirkungen. Aktionen in ihr werden normal fortgesetzt.) Im Vergleich zu einer vollständigen Kopie einer Datenbank sind Momentaufnahmen jedoch äußerst speicherplatzeffizient.(The source database, however, is not affected; actions on it continue normally.) Compared to a full copy of a database, however, snapshots are highly space efficient. Bei einer Momentaufnahme ist nur genügend Speicher für die Seiten erforderlich, die während seiner Lebensdauer geändert werden.A snapshot requires only enough storage for the pages that change during its lifetime. Im Allgemeinen werden Momentaufnahmen nur für eine begrenzte Zeit gespeichert. Daher spielt ihre Größe keine wesentliche Rolle.Generally, snapshots are kept for a limited time, so their size is not a major concern.

Je länger eine Momentaufnahme jedoch gespeichert wird, desto wahrscheinlicher belegt er verfügbaren Speicherplatz.The longer you keep a snapshot, however, the more likely it is to use up available space. Die maximale Größe, auf die eine Sparsedatei anwachsen kann, ist die Größe der entsprechenden Quelldatenbankdatei zum Zeitpunkt der Erstellung der Momentaufnahme.The maximum size to which a sparse file can grow is the size of the corresponding source database file at the time of the snapshot creation. Wenn für eine Datenbankmomentaufnahme nicht genügend Speicherplatz vorhanden ist, muss sie gelöscht werden.If a database snapshot runs out of disk space, it must be deleted (dropped).

Hinweis

Abgesehen vom Dateispeicherplatz nimmt eine Datenbankmomentaufnahme ungefähr so viele Ressourcen in Anspruch wie eine Datenbank.Except for file space, a database snapshot consumes roughly as many resources as a database.

Datenbankmomentaufnahmen mit OfflinedateigruppenDatabase Snapshots with Offline Filegroups

Offlinedateigruppen in der Quelldatenbank haben Auswirkungen auf Datenbankmomentaufnahmen, wenn Sie versuchen, einen der folgenden Vorgänge auszuführen:Offline filegroups in the source database affect database snapshots when you try to do any of the following:

  • Erstellen einer MomentaufnahmeCreate a snapshot

    Wenn eine Quelldatenbank über eine oder mehrere Offlinedateigruppen verfügt, verläuft die Erstellung der Momentaufnahme erfolgreich, wenn die Dateigruppen offline sind.When a source database has one or more offline filegroups, snapshot creation succeeds with the filegroups offline. Dateien mit geringer Dichte werden für die Offlinedateigruppen nicht erstellt.Sparse files are not created for the offline filegroups.

  • Offlineschalten einer DateigruppeTake a filegroup offline

    Sie können eine Datei in der Quelldatenbank offline schalten.You can take a file offline in the source database. Die Dateigruppe bleibt in Datenbankmomentaufnahmen jedoch online, wenn sie zum Zeitpunkt der Erstellung der Momentaufnahme online war.However, the filegroup remains online in database snapshots if it was online when the snapshot was created. Wenn die abgefragten Daten seit der Erstellung der Momentaufnahme geändert wurden, kann in der Momentaufnahme auf die ursprüngliche Datenseite zugegriffen werden.If the queried data has changed since snapshot creation, the original data page will be accessible in the snapshot. Abfragen, die mithilfe der Momentaufnahmen auf ungeänderte Daten in der Dateigruppe zugreifen, schlagen jedoch wahrscheinlich mit E/A-Fehlern fehl.However, queries that use the snapshot to access unmodified data in the filegroup are likely to fail with input/output (I/O) errors.

  • Onlineschalten einer DateigruppeBring a filegroup online

    Sie können eine Dateigruppe in einer Datenbank, die über eine Datenbankmomentaufnahme verfügt, nicht online schalten.You cannot bring a filegroup online in a database that has any database snapshots. Wenn sich eine Dateigruppe während der Momentaufnahmeerstellung offline befindet oder offline geschaltet wird, während eine Datenbankmomentaufnahme vorhanden ist, bleibt die Dateigruppe offline.If a filegroup is offline at the time of snapshot creation or is taken offline while a database snapshot exists, the filegroup remains offline. Das liegt daran, dass eine Datei beim Onlineschalten wiederhergestellt wird; dies ist jedoch nicht möglich, wenn in der Datenbank eine Datenbankmomentaufnahme vorhanden ist.This is because bringing a file back online involves restoring it, which is not possible if a database snapshot exists on the database.

  • Wiederherstellen der Quelldatenbank mit der MomentaufnahmeRevert the source database to the snapshot

    Für das Wiederherstellen einer Quelldatenbank aus einer Datenbankmomentaufnahme ist es erforderlich, dass alle Dateigruppen online sind, mit Ausnahme der Dateigruppen, die zum Zeitpunkt der Erstellung der Momentaufnahme offline waren.Reverting a source database to a database snapshot requires that all of the filegroups are online except for filegroups that were offline when the snapshot was created.

Weitere InformationenSee Also

Datenbankspiegelung und Datenbankmomentaufnahmen (SQL Server)Database Mirroring and Database Snapshots (SQL Server)