次の方法で共有


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

SQL Server 2014 では、bcp を使用して、-V スイッチを使用して、SQL Server 2000、SQL Server 2005、SQL Server 2008、SQL Server 2008 R2、または SQL Server 2012 からネイティブおよび文字形式のデータをインポートできます。 -V スイッチを使用すると、SQL Server 2014 では、指定された以前のバージョンのSQL Serverのデータ型が使用され、データ ファイルの形式は以前のバージョンの形式と同じです。

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

SQL Server のバージョン Qualifier
SQL Server 2000 -V80
SQL Server 2005 -V90
SQL Server 2008 -V100
SQL Server 2012 -V 110

データ型について

SQL Server 2005 以降のバージョンでは、いくつかの新しい型がサポートされています。 以前の 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
UDT1 image image image

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

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

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

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

日付値のコピー

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

bcp コマンドは、 と smalldatetime の値に対する ODBC の既定の形式を使用して文字形式データ ファイルをdatetimeエクスポートします。 たとえば、日付 12 Aug 1998 が含まれた datetime 型の列は、文字列 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)