Grundlegende Richtlinien für den Massenimport von Daten

Sie können den Befehl bcp, die BULK INSERT-Anweisung oder die OPENROWSET(BULK)-Funktion nur für den Massenimport von Daten aus einer Datendatei verwenden.

HinweisHinweis

Es ist möglich, eine benutzerdefinierte Anwendung zu schreiben, die einen Massenimport von Daten von anderen Objekten als einer Textdatei durchführt. Für einen Massenimport von Daten aus Speicherpuffern verwenden Sie entweder die BCP-Erweiterungen an der SQL Server Native Client (ODBC)-API (Application Programming Interface) oder der OLE DB IRowsetFastLoad-Schnittstelle. Für den Massenimport von Daten aus einer C#-Datentabelle, verwenden Sie die ADO.NET-API für Massenkopiervorgänge, SqlBulkCopy.

HinweisHinweis

Der Massenimport von Daten in eine Remotetabelle wird nicht unterstützt.

Halten Sie sich beim Massenimport von Daten aus einer Datendatei in eine Instanz von Microsoft SQL Server an die folgenden Richtlinien:

  • Erlangen Sie die erforderlichen Berechtigungen für Ihr Benutzerkonto.

    Das Benutzerkonto, in dem Sie das Dienstprogramm bcp, die BULK INSERT-Anweisung oder die INSERT ... SELECT * FROM OPENROWSET(BULK...)-Anweisung verwenden, muss über die erforderlichen Berechtigungen für die Tabelle verfügen (zugewiesen vom Tabellenbesitzer). Weitere Informationen zu den erforderlichen Berechtigungen für jede Methode finden Sie unter bcp (Hilfsprogramm), OPENROWSET (Transact-SQL) und BULK INSERT (Transact-SQL).

  • Verwenden Sie das massenprotokollierte Wiederherstellungsmodell.

    Diese Richtlinie gilt für eine Datenbank, die das vollständige Wiederherstellungsmodell verwendet. Das massenprotokollierte Wiederherstellungsmodell ist beim Ausführen von Massenvorgängen in einer nicht indizierten Tabelle von Nutzen (in einem Heap). Mit der massenprotokollierten Wiederherstellung wird verhindert, dass der Speicherplatz des Transaktionsprotokolls vollständig belegt wird, weil Zeileneinfügungen im Protokoll von der massenprotokollierten Wiederherstellung nicht ausgeführt werden. Weitere Informationen zum massenprotokollierten Wiederherstellungsmodell finden Sie unter Sichern beim massenprotokollierten Wiederherstellungsmodell.

    Es wird empfohlen, für die Datenbank unmittelbar vor dem Massenimportvorgang die Verwendung des massenprotokollierten Wiederherstellungsmodells festzulegen. Unmittelbar danach sollten Sie die Datenbank wieder auf das vollständige Wiederherstellungsmodell zurücksetzen. Weitere Informationen finden Sie unter Überlegungen für den Wechsel zwischen vollständigem und massenprotokolliertem Wiederherstellungsmodell.

    HinweisHinweis

    Weitere Informationen zur Minimierung der Protokollierung bei Massenimportvorgängen finden Sie unter Voraussetzungen für die minimale Protokollierung beim Massenimport.

  • Führen Sie nach dem Massenimport von Daten eine Sicherung aus.

    Für eine Datenbank, die das einfache Wiederherstellungsmodell verwendet, sollten Sie eine vollständige oder eine differenzielle Sicherung ausführen, nachdem der Massenimportvorgang abgeschlossen ist. Weitere Informationen finden Sie unter Erstellen einer vollständigen und einer differenziellen Sicherung einer SQL Server-Datenbank.

    Für das massenprotokollierte Wiederherstellungsmodell oder das vollständige Wiederherstellungsmodell ist eine Protokollsicherung ausreichend. Weitere Informationen finden Sie unter Erstellen von Transaktionsprotokollsicherungen.

  • Löschen Sie Tabellenindizes, um die Leistung bei großen Massenimporten zu verbessern.

    Diese Richtlinie gilt für Situationen, in denen Sie im Vergleich zu den bereits in der Tabelle enthaltenen Datenmengen eine sehr große Datenmenge importieren. In diesem Fall kann das Löschen der Indizes aus der Tabelle vor dem Ausführen des Massenimportvorgangs die Leistung erheblich steigern.

    HinweisHinweis

    Wenn Sie hingegen eine kleine Menge an Daten (im Vergleich zur Menge der bereits in der Tabelle enthaltenen Daten) laden möchten, ist das Löschen der Indizes kontraproduktiv. Das erneute Erstellen dieser Indizes könnte länger dauern als die Zeitersparnis durch den Massenimportvorgang.

    Weitere Informationen finden Sie unter Optimieren der Leistung des Massenimportierens.

  • Suchen und entfernen Sie verborgene Zeichen in der Datendatei.

    Viele Dienstprogramme und Text-Editoren zeigen ausgeblendete Zeichen an, die sich in der Regel am Ende der Datendatei befinden. Ausgeblendete Zeichen in einer ASCII-Datendatei können während eines Massenimportvorgangs Probleme verursachen. Dies kann zu einer Fehlermeldung führen, in der das Auffinden einer unerwarteten Null gemeldet wird. Sie können das Problem normalerweise lösen, wenn Sie alle ausgeblendeten Zeichen suchen und entfernen.