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

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

So geben Sie eine frühere Version von SQL Server für eine Datendatei an, und zwar mit einem -V-Schalter mit einem der folgenden Qualifizierer

SQL Server-Version

Qualifizierer

SQL Server 2000 

-V 80

SQL Server 2005

-V 90

SQL Server 2008

-V 100

Interpretation von Datentypen, die in SQL Server 2005 eingeführt wurden

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 Zusammenfassung über die Konvertierung der neuen Datentypen von SQL Server 2005 für die Kompatibilität mit früheren SQL Server-Versionen.

Neue Datentypen in SQL Server 2005

Kompatible Datentypen in Version 6x

Kompatible Datentypen in Version 70

Kompatible Datentypen in Version 80

bigint

decimal

decimal

*

sql_variant

text

nvarchar(4000)

*

varchar(max)

text

text

text

nvarchar(max)

ntext

ntext

ntext

varbinary(max)

image

image

image

XML

ntext

ntext

ntext

UDT1

image

image

image

* Dieser Typ wird vom eigenen System unterstützt.

1 UDT gibt einen benutzerdefinierten Typ an.

Exportieren aus SQL Server 2005 und höheren Versionen

Bei einem Massenexport von Daten aus SQL Server 2005 oder höheren Versionen mithilfe des –V 80-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.

Kopieren von Datumswerten

Von bcp wird die ODBC-API für das Massenkopieren verwendet. Deshalb verwendet bcp zum Importieren von Datumswerten in SQL Server das ODBC-Datumsformat (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. So wird beispielsweise eine datetime-Spalte mit dem Datum 12 Aug 1998 beim Massenkopieren in eine Datendatei als die Zeichenfolge 1998-08-12 00:00:00.000 übertragen.

Wichtiger HinweisWichtig

Achten Sie beim Importieren von Daten mit bcp in ein smalldatetime-Feld darauf, dass der Wert für Sekunden 00.000 ist; andernfalls erzeugt der Vorgang einen Fehler. 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.

Verwandte Aufgaben

So verwenden Sie Datenformate für Massenimport oder Massenexport

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Siehe auch

Verweis

bcp (Hilfsprogramm)

BULK INSERT (Transact-SQL)

OPENROWSET (Transact-SQL)

Datentypen (Transact-SQL)

CAST und CONVERT (Transact-SQL)

Andere Ressourcen

Abwärtskompatibilität des SQL Server-Datenbankmoduls