Importieren von Daten aus früheren SQL Server-Versionen im nativen Format oder im Zeichenformat
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
In SQL Server 2014 (12.x) und höher können Siebcp verwenden, um systemeigene und Zeichenformatdaten aus SQL Server 2000 (8.x), SQL Server 2005 (9.x), SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x) oder SQL Server 2012 (11.x) mithilfe der Option -V zu importieren. Der Schalter -V veranlasst SQL Server, 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-Version | Qualifizierer |
---|---|
SQL Server 2000 (8.x) | -V80 |
SQL Server 2005 (9.x) | -V90 |
SQL Server 2008 (10.0.x) | -V100 |
SQL Server 2012 (11.x) | -V 110 |
Interpretation von Datentypen
SQL Server 2005 (9.x) 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 Server kompatibel sind.
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) | Abbildung | Abbildung | Abbildung |
XML | ntext | ntext | ntext |
UDT** | Abbildung | Abbildung | Abbildung |
*Dieser Typ wird nativ unterstützt.
**UDT gibt einen benutzerdefinierten Typ an.
Exportieren mit -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) und höhere Versionen.
Kopieren von Datumswerten
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-tthh: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.
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.
Related Tasks
So verwenden Sie Datenformate für Massenimport oder Massenexport
Verwenden des Zeichenformats zum Importieren oder Exportieren von Daten (SQL Server)
Verwenden des nativen 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)
Weitere Informationen
bcp (Hilfsprogramm)
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
Datentypen (Transact-SQL)
Abwärtskompatibilität der SQL Server-Datenbank-Engine
CAST und CONVERT (Transact-SQL)