以前のバージョンの SQL Server からのネイティブ形式データおよび文字形式データのインポート
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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 のバージョン | Qualifier |
---|---|
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 データは、以降のバージョンの既定である 8 バイトのプレフィックスではなく、 text 、 image 、および ntextSQL Server 2005 (9.x) 型のデータと同様に、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)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示