以前のバージョンの SQL Server からのネイティブ形式データおよび文字形式データのインポート

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server 2014 (12.x) 以降では、bcp を使用して、-V スイッチを用いることで、SQL Server 2000 (8.x)、SQL Server 2005 (9.x)、SQL Server 2008 (10.0.x)、SQL Server 2008 R2 (10.50.x)、または SQL Server 2012 (11.x) からネイティブ形式と文字形式のデータをインポートします。 -V スイッチを使用すると、SQL Server は指定された以前のバージョンの SQL Server のデータ型を使用し、データ ファイル形式はその以前のバージョンのものと同じになります。

データ ファイルに以前の SQL Server バージョンを指定するには、-V スイッチと次のいずれかの修飾子を使用します。

SQL Server のバージョン 修飾子
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

データ型について

SQL Server 2005 (9.x) 以降のバージョンでは、いくつかの新しいデータ型がサポートされるようになりました。 以前の SQL Server バージョンに新しいデータ型をインポートする場合は、古い bcp クライアントで読み取ることが可能な形式でそのデータ型を格納する必要があります。 次の表では、以前のバージョンの SQL Server との互換性を維持するために、新しいデータ型がどのように変換されるかをまとめています。

SQL Server 2005 の新しいデータ型 バージョン 6xの互換性のあるデータ型 バージョン 70 の互換性のあるデータ型 バージョン 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
UDT** image image image

* この型はネイティブでサポートされています。

** UDT はユーザー定義型を示します。

-V 80 を使用したエクスポート

-V80 スイッチを使用してデータを一括エクスポートする場合、nvarchar(max)varchar(max)varbinary(max)、XML、およびネイティブ モードの UDT データは、SQL Server 2005 (9.x) 以降のバージョンの既定である 8 バイトのプレフィックスではなく、textimage、および ntext 型のデータと同様に、4 バイトのプレフィックス付きで格納されます。

日付値のコピー

bcp は ODBC 一括コピー API を使用します。 したがって、SQL Server に日付値をインポートするには、bcp は ODBC の日付形式 (yyyy-mm-dd hh:mm:ss[.f...]) を使用します。

bcp コマンドでは、 datetime 型と smalldatetime 型の値に使用される ODBC の既定の形式を使用して、文字形式のデータ ファイルがエクスポートされます。 たとえば、日付 が含まれた datetime 12 Aug 1998 型の列は、文字列 1998-08-12 00:00:00.000としてデータ ファイルに一括コピーされます。

重要

bcp を使用してデータを smalldatetimeフィールドにインポートする場合は、秒の値が 00.000 になっていることを確認してください。それ以外の場合、この操作は失敗します。 smalldatetime データ型には、最も近い "分" までの値のみが保持されます。 この場合、BULK INSERT および INSERT ... SELECT * FROM OPENROWSET(BULK...) は失敗しませんが、秒の値は切り捨てられます。

Related Tasks

一括インポートまたは一括エクスポートのデータ形式を使用するには

参照

bcp ユーティリティ
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
データ型 (Transact-SQL)
SQL Server データベース エンジンの旧バージョンとの互換性
CAST および CONVERT (Transact-SQL)