Voraussetzungen für die minimale Protokollierung beim Massenimport

Ein Massenimport kann nur beim massenprotokollierten oder einfachen Wiederherstellungsmodell minimal protokolliert werden. Für eine Datenbank, bei der das vollständige Wiederherstellungsmodell verwendet wird, werden alle beim Massenimport ausgeführten Vorgänge für das Einfügen von Zeilen vollständig im Transaktionsprotokoll protokolliert. Bei umfangreichen Datenimporten kann das Transaktionsprotokoll schnell aufgefüllt werden, wenn das vollständige Wiederherstellungsmodell verwendet wird. Demgegenüber reduziert die minimale Protokollierung die Möglichkeit, dass ein Massenimportvorgang den Protokollspeicherplatz auffüllt. Darüber hinaus ist die minimale Protokollierung effizienter als die vollständige Protokollierung. Für die minimale Protokollierung muss die Datenbank entweder das massenprotokollierte Wiederherstellungsmodell (falls die Datenbank normalerweise die vollständige Wiederherstellung verwendet) oder das einfache Wiederherstellungsmodell verwenden.

ms190422.note(de-de,SQL.90).gifHinweis:
Informationen zum Wechseln zwischen dem vollständigen und dem massenprotokollierten Wiederherstellungsmodell finden Sie unter Überlegungen zum Wechseln zwischen vollständigem und massenprotokolliertem Wiederherstellungsmodell.

Anforderungen an die Tabellen für die minimale Protokollierung

Für die minimale Protokollierung muss die Zieltabelle alle folgenden Bedingungen erfüllen:

ms190422.note(de-de,SQL.90).gifHinweis:
Obwohl Dateneinfügungen bei einem minimal protokollierten Massenimportvorgang nicht im Transaktionsprotokoll protokolliert werden, protokolliert Datenbankmodul dennoch Blockzuordnungen, wenn der Tabelle ein neuer Block zugeordnet wird.

Indizes in Tabellen

Ob die minimale Protokollierung für eine Tabelle möglich ist, hängt auch davon ab, ob die Tabelle indiziert ist und, falls dies der Fall ist, ob die Tabelle leer ist:

  • Wenn die Tabelle keine Indizes besitzt, werden die Datenseiten minimal protokolliert.
  • Falls die Tabelle keinen gruppierten Index, aber mindestens einen nicht gruppierten Index aufweist, werden die Datenseite immer minimal protokolliert. Wie Indexseiten protokolliert werden, hängt jedoch davon ab, ob die Tabelle leer ist:
    • Falls die Tabelle leer ist, werden Indexseiten minimal protokolliert.
    • Falls die Tabelle nicht leer ist, werden Indexseiten vollständig protokolliert.
    ms190422.note(de-de,SQL.90).gifHinweis:
    Wenn Sie mit einer leeren Tabelle beginnen und die Daten in mehreren Batches massenimportieren, werden für den ersten Batch sowohl Index- als auch Datenseiten minimal protokolliert. Ab dem zweiten Batch jedoch werden nur Datenseiten minimal protokolliert.
  • Falls die Tabelle einen gruppierten Index aufweist und leer ist, werden Daten- und Indexseiten minimal protokolliert.
    Wenn dagegen eine Tabelle einen gruppierten Index aufweist und nicht leer ist, werden Daten- und Indexseiten unabhängig vom Wiederherstellungsmodell vollständig protokolliert.
    ms190422.note(de-de,SQL.90).gifHinweis:
    Wenn Sie mit einer leeren Tabelle beginnen und die Daten in mehreren Batches massenimportieren, werden für den ersten Batch sowohl Index- als auch Datenseiten minimal protokolliert. Ab dem zweiten Batch jedoch werden nur Datenseiten massenprotokolliert.

Weitere Informationen, einschließlich einer Zusammenfassung des Sperr- und Protokollierungsverhaltens von Tabellen während des Massenimportierens, finden Sie unter Optimieren der Leistung des Massenimportierens.

Bewährte Methode Wenn Sie die massenprotokollierte Wiederherstellung zum Importieren vieler Tabellenzeilen verwenden, sollten Sie Massenimporte auf mehrere Batches verteilen. Jeder Batch entspricht einer Transaktion. Wenn ein Batch abgeschlossen ist, kann das zugehörige Protokoll gesichert werden. Die nächste Protokollsicherung gibt dann den Protokollspeicherplatz frei, der für den Massenimport dieses Zeilenbatches verwendet wird.

Siehe auch

Konzepte

Auswählen des Wiederherstellungsmodells für eine Datenbank

Andere Ressourcen

bcp (Dienstprogramm)
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
BACKUP (Transact-SQL)
ALTER DATABASE (Transact-SQL)
SuspendIndexing Property
UseBulkCopyOption Property

Hilfe und Informationen

Informationsquellen für SQL Server 2005