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.
Wichtig |
---|
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
Verwenden des Zeichenformats zum Importieren und Exportieren von Daten (SQL Server)
Verwenden des systemeigenen Formats zum Importieren oder Exportieren von Daten (SQL Server)
Verwenden des Unicode-Zeichenformats zum Importieren und Exportieren von Daten (SQL Server)
Verwenden des systemeigenen Unicode-Formats zum Importieren oder Exportieren von Daten (SQL Server)
[Top]
Siehe auch
Verweis
CAST und CONVERT (Transact-SQL)