Importieren von Daten aus früheren SQL Server-Versionen im systemeigenen Format oder im ZeichenformatImport Native and Character Format Data from Earlier Versions of SQL Server

GILT FÜR: jaSQL Server jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Sie können SQL Server 2017SQL Server 2017bcp in verwenden, um Daten im nativen Format oder im Zeichenformat mithilfe des Schalters SQL Server 2000 (8.x)SQL Server 2000 (8.x)-V SQL Server 2005 (9.x)SQL Server 2005 (9.x)aus SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012 (11.x)SQL Server 2012 (11.x) , oder zu importieren.In SQL Server 2017SQL Server 2017, you can use bcp to import native and character format data from SQL Server 2000 (8.x)SQL Server 2000 (8.x), SQL Server 2005 (9.x)SQL Server 2005 (9.x), SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, or SQL Server 2012 (11.x)SQL Server 2012 (11.x) by using the -V switch. Der Schalter -V veranlasst SQL Server 2017SQL Server 2017 , Datentypen aus der angegebenen früheren Version von SQL ServerSQL Serverzu verwenden. Zudem entspricht das Datendateiformat dem Format dieser früheren Version.The -V switch causes SQL Server 2017SQL Server 2017 to use data types from the specified earlier version of SQL ServerSQL Server, and the data file format are the same as the format in that earlier version.

Um eine frühere Version von SQL ServerSQL Server für eine Datendatei anzugeben, verwenden Sie den Schalter -V mit einem der folgenden Qualifizierer:To specify an earlier SQL ServerSQL Server version for a data file, use the -V switch with one of the following qualifiers:

SQL Server-VersionSQL Server version QualifiziererQualifier
SQL Server 2000 (8.x)SQL Server 2000 (8.x) -V80-V80
SQL Server 2005 (9.x)SQL Server 2005 (9.x) -V90-V90
SQL Server 2008SQL Server 2008 -V100-V100
SQL Server 2012 (11.x)SQL Server 2012 (11.x) -V 110-V 110

Interpretation von DatentypenInterpretation of Data Types

SQL Server 2005 (9.x)SQL Server 2005 (9.x) und höhere Versionen bieten Unterstützung für einige neue Typen.and later versions have support for some new types. Beim Importieren eines neuen Datentyps aus einer früheren Version von SQL ServerSQL Server , muss der Dateityp in einem Format gespeichert sein, das von den älteren bcp -Clients gelesen werden kann.When you want to import a new data type into an earlier SQL ServerSQL Server version, the data type must be stored in a format that readable by the older bcp clients. In der folgenden Tabelle finden Sie eine Übersicht, wie die neuen Datentypen konvertiert werden, damit sie mit den früheren Versionen von SQL ServerSQL Serverkompatibel sind.The following table summarizes how the new data types are converted for compatibility with the earlier versions of SQL ServerSQL Server.

Neue Datentypen in SQL Server 2005New data types in SQL Server 2005 Kompatible Datentypen in Version 6xCompatible data types in version 6x Kompatible Datentypen in Version 70Compatible data types in version 70 Kompatible Datentypen in Version 80Compatible data types in version 80
bigintbigint decimaldecimal decimaldecimal *
sql_variantsql_variant texttext nvarchar(4000)nvarchar(4000) *
varchar(max)varchar(max) texttext texttext texttext
nvarchar(max)nvarchar(max) ntextntext ntextntext ntextntext
varbinary(max)varbinary(max) imageimage imageimage imageimage
XMLXML ntextntext ntextntext ntextntext
UDT**UDT** imageimage imageimage imageimage

*Dieser Typ wird nativ unterstützt.*This type is natively supported.

**UDT gibt einen benutzerdefinierten Typ an.**UDT indicates a user defined type.

Exportieren mit -V 80Exporting using -V 80

Bei einem Massenexport von Daten mithilfe des Switch -V80 werden Daten vom Typ nvarchar(max) , varchar(max) , varbinary(max) , XML und UDT – wie Daten vom Typ text, image und ntext – anstatt mit einem 8-Byte-Präfix mit einem 4-Byte-Präfix im einheitlichen Modus gespeichert. Dies ist der Standardwert für SQL Server 2005 (9.x)SQL Server 2005 (9.x) und höhere Versionen.When you bulk export data by using the -V80 switch, nvarchar(max), varchar(max), varbinary(max), XML, and UDT data in native mode are stored with a 4-byte prefix, like text, image, and ntext data, rather than with an 8-byte prefix, which is the default for SQL Server 2005 (9.x)SQL Server 2005 (9.x) and later versions.

Kopieren von DatumswertenCopying Date Values

Vonbcp wird die ODBC-API für das Massenkopieren verwendet.bcp uses the ODBC bulk copy API. Deshalb verwendet SQL ServerSQL Serverbcp zum Importieren von Datumswerten in das ODBC-Datumsformat (jjjj-mm-tt hh:mm:ss[ .f... ]).Therefore, to import date values into SQL ServerSQL Server, bcp uses the ODBC date format (yyyy-mm-dd hh:mm:ss[.f...]).

Der Befehl bcp exportiert Datendateien im Zeichenformat immer mithilfe des ODBC-Standardformats für datetime - und smalldatetime -Werte.The bcp command exports character format data files using the ODBC default format for datetime and smalldatetime values. So wird beispielsweise eine datetime -Spalte mit dem Datum 12 Aug 1998 beim Massenkopieren in eine Datendatei als Zeichenfolge 1998-08-12 00:00:00.000übertragen.For example, a datetime column containing the date 12 Aug 1998 is bulk copied to a data file as the character string 1998-08-12 00:00:00.000.

Wichtig

Achten Sie beim Importieren von Daten mit bcp in ein smalldatetime-Feld darauf, dass der Wert für Sekunden 00.000 ist; andernfalls ruft der Vorgang einen Fehler hervor.When importing data into a smalldatetime field using bcp, be sure the value for seconds is 00.000; otherwise the operation will fail. Der smalldatetime -Datentyp kann nur Werte beinhalten, die auf die volle Minute gerundet sind.The smalldatetime data type only holds values to the nearest minute. BULK INSERT und INSERT ... SELECT * FROM OPENROWSET(BULK...) schlagen in diesem Fall nicht fehl, schneiden jedoch den Sekundenwert ab.BULK INSERT and INSERT ... SELECT * FROM OPENROWSET(BULK...) will not fail in this instance but will truncate the seconds value.

Verwandte AufgabenRelated Tasks

So verwenden Sie Datenformate für Massenimport oder MassenexportTo use data formats for bulk import or bulk export

Weitere InformationenSee Also

bcp Utility bcp Utility
BULK INSERT (Transact-SQL) BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL) OPENROWSET (Transact-SQL)
Datentypen (Transact-SQL) Data Types (Transact-SQL)
Abwärtskompatibilität der SQL Server-Datenbank-Engine SQL Server Database Engine Backward Compatibility
CAST und CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)