Vorbereiten des Massenimports von Daten (SQL Server)

Gilt für:SQL Server

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.

Hinweis

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 der SQL Server Native Client (ODBC)-API (Application Programming Interface, Anwendungsprogrammierschnittstelle) oder die OLE DB-Schnittstelle IRowsetFastLoad. Für den Massenimport von Daten aus einer C#-Datentabelle verwenden Sie die ADO.NET-API für Massenkopiervorgänge SqlBulkCopy.

Hinweis

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

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

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

    Das Benutzerkonto, in dem Sie das Hilfsprogramm 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 für jede Methode erforderlichen Berechtigungen 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 Wiederherstellungsmodelle (SQL Server).

    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 Anzeigen oder Ändern des Wiederherstellungsmodells einer Datenbank (SQL Server).

    Hinweis

    Weitere Informationen zur minimalen Protokollierung während 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 Datenbanksicherung (SQL Server) und Erstellen einer differenziellen Datenbanksicherung (SQL Server).

    Für das massenprotokollierte Wiederherstellungsmodell oder das vollständige Wiederherstellungsmodell ist eine Protokollsicherung ausreichend. Weitere Informationen finden Sie unter Transaktionsprotokollsicherungen (SQL Server).

  • 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.

    Hinweis

    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.

  • Suchen und entfernen Sie verborgene Zeichen in der Datendatei.

    Viele Hilfsprogramme 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.

Weitere Informationen

Importieren und Exportieren von Massendaten mithilfe des Hilfsprogramms bcp (SQL Server)
Importieren von Massendaten mithilfe von BULK INSERT oder OPENROWSET(BULK...) (SQL Server)
bcp (Hilfsprogramm)
BULK INSERT (Transact-SQL)
Datenformate für Massenimport oder Massenexport (SQL Server)
OPENROWSET (Transact-SQL)