Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Datenbank in Microsoft Fabric
Der Dateispeichertyp beschreibt, wie Daten in der Datendatei gespeichert werden. 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. Benutzerdefinierte Datentypen werden als ihre Basistypen exportiert.
Die bcp-Eingabeaufforderung für den Dateispeichertyp
Wenn ein interaktiver bcp-Befehl die Optionen in oder out enthält, ohne dass der Formatdateischalter (-f) oder ein Datenformatschalter (-n, -c, -w oder -N) verwendet wird, wird der Dateispeichertyp für jedes Datenfeld wie folgt abgefragt:
Enter the file storage type of field <field_name> [<default>]:
Ihre Antwort auf diese Eingabe hängt von der Aufgabe ab, die Sie ausführen.
Nehmen Sie die von bcp bereitgestellten Standarddateispeichertypen an, wenn Sie einen Massenexport für Daten aus einer Instanz von Microsoft SQL Server in eine Datendatei in der kompaktesten Speicherform (natives Datenformat) durchführen möchten. Eine Liste der systemeigenen Dateispeichertypen finden Sie unter "Systemeigene Dateispeichertypen" weiter unten in diesem Thema.
Für das Massenexportieren von Daten aus einer Instanz von SQL Server in eine Datendatei im Zeichenformat geben Sie char als Dateispeichertyp für alle Spalten in der Tabelle an.
Für den Massenimport von Daten in eine Instanz von SQL 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:
Dateispeichertyp Eingabe an der Eingabeaufforderung char c[har]varchar c[har]nchar wnvarchar wtext T[ext]ntext2 Wbinary xvarbinary xAbbildung I[mage]datetime d[ate]smalldatetime Dtime tedate dedatetime2 d2datetimeoffset doDezimal nnumeric nfloat f[loat]real rInt i[nt]bigint B[igint]smallint s[mallint]tinyint t[inyint]money m[oney]smallmoney Mbit b[it]uniqueidentifier usql_variant V[ariant]timestamp xUDT (ein benutzerdefinierter Datentyp) UXML Xvector v[ector]*Die Interaktion von 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.
** Die Datentypen ntext, text und image werden in einer zukünftigen Version von SQL Server entfernt. 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. Verwenden Sie stattdessen nvarchar(max) , varchar(max) und varbinary(max) .
Native Dateispeichertypen
Jeder systemeigene Speichertyp wird in der Formatdatei als entsprechender Datentyp der Hostdatei aufgezeichnet.
| Dateispeichertyp | Hostdatei-Datentyp |
|---|---|
| char | SQLCHAR |
| varchar | SQLCHAR |
| nchar | SQLNCHAR |
| nvarchar | SQLNCHAR |
| text | SQLCHAR |
| ntext | SQLNCHAR |
| binary | SQLBINARY |
| varbinary | SQLBINARY |
| Abbildung | SQLBINARY |
| datetime | SQLDATETIME |
| smalldatetime | SQLDATETIM4 |
| Dezimal | SQLDECIMAL |
| numeric | SQLNUMERIC |
| float | SQLFLT8 |
| real | SQLFLT4 |
| int | SQLINT |
| bigint | SQLBIGINT |
| smallint | SQLSMALLINT |
| tinyint | SQLTINYINT |
| money | SQLMONEY |
| smallmoney | SQLMONEY4 |
| bit | SQLBIT |
| uniqueidentifier | SQLUNIQUEID |
| sql_variant | SQLVARIANT |
| timestamp | SQLBINARY |
| UDT (ein benutzerdefinierter Datentyp) | SQLUDT |
| vector | SQLVECTOR |
Datendateien, die im Zeichenformat gespeichert sind, verwenden Zeichen als Dateispeichertyp. SQLCHAR ist deshalb für Zeichendatendateien der einzige Datentyp, der in einer Formatdatei aufgeführt ist.
Sie können keine Massenimportdaten in Text-, ntext- und Bildspalten mit
DEFAULTWerten ausführen.
Zusätzliche Überlegungen für Dateispeichertypen
Beachten Sie beim Massenexport von Daten aus einer Instanz von SQL Server in eine Datendatei Folgendes:
Sie können zeichen immer als Dateispeichertyp angeben, mit Ausnahme von Vektortypspalten , die keine Konvertierung in und von Zeichen unterstützen.
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.
Wenn Nicht-Zeichen-Datentypen wie float, money, datetime oder int als entsprechende Datenbanktypen gespeichert werden, werden die Daten im systemeigenen Format von SQL Server in die Datendatei geschrieben.
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. Weitere Informationen zu Nicht-XML-Formatdateien finden Sie unter Nicht-XML-Formatdateien (SQL Server).