Exportieren von Daten aus einer Abfrage in eine Datendatei

Mit dem Befehl bcp können Sie das Resultset einer Transact-SQL-Anweisung in eine Datendatei exportieren. Es kann sich bei dieser Transact-SQL-Anweisung um eine beliebige gültige Anweisung handeln, die ein Resultset zurückgibt, wie etwa eine verteilte Abfrage oder eine SELECT-Anweisung, die mehrere Tabellen verknüpft.

Beim Massenexport von Daten aus einer Tabelle oder Sicht ist nicht sichergestellt, in welcher Reihenfolge die Daten in die Datendatei geschrieben werden. Sie können eine Abfrage verwenden, um sicherzustellen, dass bei einem Massenexportvorgang die Reihenfolge der Tabellendaten in der Datendatei beibehalten wird.

Beachten Sie, dass einige Transact-SQL-Anweisungen mehrere Resultsets zurückgeben. Dies gilt beispielsweise für eine SELECT-Anweisung mit COMPUTE-Klausel oder eine gespeicherte Prozedur, die mehrere SELECT-Anweisungen enthält. Wenn die Transact-SQL-Anweisung mehrere Resultsets zurückgibt, wird nur das erste Resultset kopiert; nachfolgende Resultsets werden nicht berücksichtigt.

HinweisHinweis

Mithilfe des Befehls bcp, der BULK INSERT-Anweisung und der OPENROWSET(BULK...)-Funktion (Transact-SQL) können Sie angeben, wie Daten in der Datendatei während eines Massenimportvorgangs sortiert werden. Weitere Informationen finden Sie unter Steuern der Sortierreihenfolge beim Massenimport von Daten. Das Beibehalten der Datenreihenfolge bei einem Massenimport kann die Leistung erheblich verbessern. Weitere Informationen finden Sie unter Optimieren der Leistung des Massenimportierens.

Beispiele

Im folgenden Beispiel werden die Namen aus der Person.Person-Tabelle der AdventureWorks2008R2-Datenbank in die Datendatei Contacts.txt exportiert. Die Namen werden nach dem Nachnamen und dann nach dem Vornamen sortiert.

Das Beispiel wird an der Microsoft Windows-Eingabeaufforderung ausgeführt:

bcp "SELECT FirstName, LastName FROM AdventureWorks2008R2.Person.Person ORDER BY LastName, Firstname" queryout Contacts.txt -c -T 
SicherheitshinweisSicherheitshinweis

Möglicherweise müssen Sie den Namen der Serverinstanz angeben, mit der Sie eine Verbindung herstellen. Außerdem kann es erforderlich sein, den Benutzernamen und das entsprechende Kennwort anzugeben. Weitere Informationen finden Sie unter bcp (Hilfsprogramm).