Importieren von Daten aus früheren SQL Server-Versionen im systemeigenen Format oder im Zeichenformat

 

Sie können bcp in SQL Server 2016 verwenden, um Daten im nativen Format oder im Zeichenformat mithilfe des Schalters -V aus SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 oder SQL Server 2012 zu importieren. Der Schalter -V veranlasst SQL Server 2016, Datentypen aus der angegebenen früheren Version von SQL Server zu verwenden. Zudem entspricht das Datendateiformat dem Format dieser früheren Version.

Um eine frühere Version von SQL Server für eine Datendatei anzugeben, verwenden Sie den Schalter -V mit einem der folgenden Qualifizierer:

SQL Server-VersionQualifizierer
SQL Server 2000-V80
SQL Server 2005-V90
SQL Server 2008-V100
SQL Server 2012-V 110

SQL Server 2005 und höhere Versionen bieten Unterstützung für einige neue Typen. Beim Importieren eines neuen Datentyps aus einer früheren Version von SQL Server , muss der Dateityp in einem Format gespeichert sein, das von den älteren bcp -Clients gelesen werden kann. In der folgenden Tabelle finden Sie eine Übersicht, wie die neuen Datentypen konvertiert werden, damit sie mit den früheren Versionen von SQL Serverkompatibel sind.

Neue Datentypen in SQL Server 2005Kompatible Datentypen in Version 6xKompatible Datentypen in Version 70Kompatible Datentypen in Version 80
bigintdecimaldecimal*
sql_varianttextnvarchar(4000)*
varchar(max)texttexttext
nvarchar(max)ntextntextntext
varbinary(max)imageimageimage
XMLntextntextntext
UDT**imageimageimage

*Dieser Typ wird nativ unterstützt.

**UDT gibt einen benutzerdefinierten Typ an.

Bei einem Massenexport von Daten mithilfe des –V80-Schalters 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 und höhere Versionen.

Vonbcp wird die ODBC-API für das Massenkopieren verwendet. Deshalb verwendet bcp zum Importieren von Datumswerten in SQL Server das ODBC-Datumsformat (jjjj-mm-tt hh:mm:ss[.f...]).

Der Befehl bcp exportiert Datendateien im Zeichenformat immer mithilfe des ODBC-Standardformats für datetime - und smalldatetime -Werte. 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.

System_CAPS_ICON_important.jpg 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. Der smalldatetime -Datentyp kann nur Werte beinhalten, die auf die volle Minute gerundet sind. BULK INSERT und INSERT ... SELECT * FROM OPENROWSET(BULK...) schlagen in diesem Fall nicht fehl, schneiden jedoch den Sekundenwert ab.

So verwenden Sie Datenformate für Massenimport oder Massenexport

bcp (Hilfsprogramm)
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
Datentypen (Transact-SQL)
Abwärtskompatibilität des SQL Server-Datenbankmoduls
CAST und CONVERT (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: