Angeben des Dateispeichertyps mithilfe von bcp (SQL Server)Specify File Storage Type by Using bcp (SQL Server)

Der Dateispeichertyp beschreibt, wie Daten in der Datendatei gespeichert werden.The file storage type describes how data is stored in the data file. Daten können in eine Datendatei als Typ der Datenbanktabelle (systemeigenes Format), als Zeichendarstellung (Zeichenformat) oder als beliebiger Datentyp, bei dem die implizite Konvertierung unterstützt wird, exportiert werden. Beispielsweise kann ein smallint als ein intkopiert werden.Data can be exported to a data file as its database table type (native format), in its character representation (character format), or as any data type where implicit conversion is supported; for example, copying a smallint as an int. Benutzerdefinierte Datentypen werden als Basistypen exportiert.User-defined data types are exported as their base types.

Die bcp-Eingabeaufforderung für den DateispeichertypThe bcp Prompt for File Storage Type

Wenn ein interaktiver bcp -Befehl die Option in oder out , jedoch keinen Formatdateischalter (-f) bzw. keinen Datenformatschalter (-n, -c, -woder -N) enthält, fordert der Befehl wie folgt zur Eingabe des Dateispeichertyps für jedes Datenfeld auf:If an interactive bcp command contains the in or out option without either the format file switch (-f) or a data-format switch (-n, -c, -w, or -N), the command prompts for the file storage type of each data field, as follows:

Enter the file storage type of field <field_name> [<default>]:

Ihre Eingabe hängt dann von der Aufgabe ab, die Sie ausführen möchten (siehe folgende Liste).Your response to this prompt depends on the task you perform, as follows:

  • Wenn Sie Daten von einer Instanz von MicrosoftMicrosoft SQL ServerSQL Server in eine Datendatei der kompaktesten Speicherform, die möglich ist (systemeigenes Datenformat), massenexportieren möchten, nehmen Sie die Standard-Dateispeichertypen an, die von bcpbereitgestellt werden.To bulk export data from an instance of MicrosoftMicrosoft SQL ServerSQL Server to a data file in the most compact storage possible (native data format), accept the default file storage types that are provided by bcp. Eine Liste der systemeigenen Dateispeichertypen finden Sie unter "Systemeigene Dateispeichertypen" weiter unten in diesem Thema.For a list of the native file storage types, see "Native File Storage Types," later in this topic.

  • Für das Massenexportieren von Daten aus einer Instanz von SQL ServerSQL Server in eine Datendatei im Zeichenformat geben Sie char als Dateispeichertyp für alle Spalten in der Tabelle an.To bulk export data from an instance of SQL ServerSQL Server to a data file in character format, specify char as the file storage type for all columns in the table.

  • Für den Massenimport von Daten in eine Instanz von SQL ServerSQL Server aus einer Datendatei geben Sie den Dateispeichertyp als char für Typen an, die im Zeichenformat gespeichert sind. Geben Sie für im systemeigenen Datentypformat gespeicherte Daten einen entsprechenden Dateispeichertyp wie folgt an:To bulk import data to an instance of SQL ServerSQL Server from a data file, specify the file storage type as char for types stored in character format and, for data stored in native data type format, specify one of the file storage types, as appropriate:

    DateispeichertypFile storage type Eingabe an der EingabeaufforderungEnter at command prompt
    charchar** c[har]c[har]
    varcharvarchar c[har]c[har]
    ncharnchar ww
    nvarcharnvarchar ww
    text\text\ T[ext]T[ext]
    ntext2ntext2 WW
    binarybinary xx
    varbinaryvarbinary xx
    image\image\ I[mage]I[mage]
    datetimedatetime d[ate]d[ate]
    smalldatetimesmalldatetime DD
    Uhrzeittime tete
    Datumdate dede
    datetime2datetime2 d2d2
    datetimeoffsetdatetimeoffset dodo
    decimaldecimal n
    numericnumeric n
    floatfloat f[loat]f[loat]
    realreal rr
    IntInt i[nt]i[nt]
    bigintbigint B[igint]B[igint]
    smallintsmallint s[mallint]s[mallint]
    tinyinttinyint t[inyint]t[inyint]
    moneymoney m[oney]m[oney]
    smallmoneysmallmoney MM
    bitbit b[it]b[it]
    uniqueidentifieruniqueidentifier uu
    sql_variantsql_variant V[ariant]V[ariant]
    timestamptimestamp xx
    UDT (ein benutzerdefinierter Datentyp)UDT (a user-defined data type) UU
    XMLXML XX

    *Die Interaktion für Feldlänge, Präfixlänge und Abschlusszeichen bestimmt die Speicherplatzgröße, die in einer Datendatei für nicht auf Zeichen basierende Daten zugeordnet wird, die als char -Dateispeichertyp exportiert werden.*The interaction of field length, prefix length, and terminators determines the amount of storage space that is allocated in a data file for noncharacter data that is exported as the char file storage type.

    ** Die Datentypen ntext, textund image werden in einer zukünftigen Version von SQL ServerSQL Serverentfernt.** The ntext, text, and image data types will be removed in a future version of SQL ServerSQL Server. Vermeiden Sie den Gebrauch dieser Datentypen bei neuen Entwicklungen, und richten Sie sich auf die Änderung von Anwendungen ein, in denen sie zurzeit verwendet werden.In new development work, avoid using these data types, and plan to modify applications that currently use them. Verwenden Sie stattdessen nvarchar(max), varchar(max)und varbinary(max) .Use nvarchar(max), varchar(max), and varbinary(max) instead.

Systemeigene DateispeichertypenNative File Storage Types

Jeder systemeigene Speichertyp wird in der Formatdatei als entsprechender Datentyp der Hostdatei aufgezeichnet.Each native file storage type is recorded in the format file as a corresponding host file data type.

DateispeichertypFile storage type Datentyp in der HostdateiHost file data type
charchar** SQLCHARSQLCHAR
varcharvarchar SQLCHARSQLCHAR
ncharnchar SQLNCHARSQLNCHAR
nvarcharnvarchar SQLNCHARSQLNCHAR
text\text\ SQLCHARSQLCHAR
ntext\ntext\ SQLNCHARSQLNCHAR
binarybinary SQLBINARYSQLBINARY
varbinaryvarbinary SQLBINARYSQLBINARY
image\image\ SQLBINARYSQLBINARY
datetimedatetime SQLDATETIMESQLDATETIME
smalldatetimesmalldatetime SQLDATETIM4SQLDATETIM4
decimaldecimal SQLDECIMALSQLDECIMAL
numericnumeric SQLNUMERICSQLNUMERIC
floatfloat SQLFLT8SQLFLT8
realreal SQLFLT4SQLFLT4
intint SQLINTSQLINT
bigintbigint SQLBIGINTSQLBIGINT
smallintsmallint SQLSMALLINTSQLSMALLINT
tinyinttinyint SQLTINYINTSQLTINYINT
moneymoney SQLMONEYSQLMONEY
smallmoneysmallmoney SQLMONEY4SQLMONEY4
bitbit SQLBITSQLBIT
uniqueidentifieruniqueidentifier SQLUNIQUEIDSQLUNIQUEID
sql_variantsql_variant SQLVARIANTSQLVARIANT
timestamptimestamp SQLBINARYSQLBINARY
UDT (ein benutzerdefinierter Datentyp)UDT (a user-defined data type) SQLUDTSQLUDT

*Für Datendateien, die im Zeichenformat gespeichert sind, wird char als Dateispeichertyp verwendet.*Data files that are stored in character format use char as the file storage type. SQLCHAR ist deshalb für Zeichendatendateien der einzige Datentyp, der in einer Formatdatei aufgeführt ist.Therefore, for character data files, SQLCHAR is the only data type that appears in a format file.

**Sie können keinen Massenimport von Daten in text-, ntext- und image -Spalten durchführen, die DEFAULT-Werte aufweisen.**You cannot bulk import data into text, ntext, and image columns that have DEFAULT values.

Zusätzliche Aspekte von DateispeichertypenAdditional Considerations for File Storage Types

Beachten Sie beim Massenexport von Daten aus einer Instanz von SQL ServerSQL Server in eine Datendatei Folgendes:When you bulk export data from an instance of SQL ServerSQL Server to a data file:

  • Sie können immer char als Dateispeichertyp angeben.You can always specify char as the file storage type.

  • Wenn Sie einen Dateispeichertyp eingeben, der eine ungültige implizite Konvertierung darstellt, erzeugt bcp einen Fehler. Obwohl Sie beispielsweise int für smallint -Daten angeben können, kommt es zu Überlauffehlern, wenn Sie smallint für int -Daten angeben.If you enter a file storage type that represents an invalid implicit conversion, bcp fails; for example, though you can specify int for smallint data, if you specify smallint for int data, overflow errors result.

  • Wenn Nicht-Zeichen-Datentypen wie float, money, datetimeoder int als entsprechende Datenbanktypen gespeichert werden, werden die Daten im systemeigenen Format von SQL ServerSQL Server in die Datendatei geschrieben.When noncharacter data types such as float, money, datetime, or int are stored as their database types, the data is written to the data file in the SQL ServerSQL Server native format.

    Hinweis

    Nachdem Sie interaktiv alle Felder in einem bcp-Befehl angegeben haben, werden Sie vom Befehl dazu aufgefordert, Ihre Antworten für die einzelnen Felder in einer Nicht-XML-Formatdatei zu speichern.After you interactively specify all of the fields in a bcp command, the command prompts you save your responses for each field in a non-XML format file. Weitere Informationen zu Nicht-XML-Formatdateien finden Sie unter Nicht-XML-Formatdateien (SQL Server).For more information on non-XML format files, see Non-XML Format Files (SQL Server).

Siehe auchSee Also

bcp (Hilfsprogramm) bcp Utility
Datentypen (Transact-SQL) Data Types (Transact-SQL)
Angeben der Feldlänge mithilfe von bcp (SQL Server) Specify Field Length by Using bcp (SQL Server)
Angeben von Feld- und Zeilenabschlusszeichen (SQL Server) Specify Field and Row Terminators (SQL Server)
Angeben der Präfixlänge in Datendateien mittels bcp (SQL Server)Specify Prefix Length in Data Files by Using bcp (SQL Server)