KB2511151 - 修正: SSIS 2005、SSIS 2008、または SSIS 2008 R2 で、次の列データが出力列幅より 1 バイト長い場合、フラット ファイル ソースの列がインポートされない

適用先
Microsoft SQL Server 2005 SQL Server 2008 SQL Server 2008 R2

Microsoft では、Microsoft SQL Server 2008、Microsoft SQL Server 2008 R2、および 2005 の修正を 1 つのダウンロード可能なファイルとして配布しています。 修正は累積的であるため、新しいリリースの各リリースには、以前の SQL Server 2008、SQL Server 2008 R2、および SQL Server 2005 の修正プログラム リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。

現象

たとえば次のようなシナリオを考えてみます。

  • Data Flow タスクが含まれる Microsoft SQL Server Integration Services 2005 (SSIS 2005)、Microsoft SQL Server Integration Services 2008 (SSIS 2008)、または Microsoft SQL Server Integration Services 2008 R2 (SSIS 2008 R2) パッケージがあります。

  • フラット ファイル ソースを使用して、Data Flow タスクで入力データ ファイルをインポートします。

  • 入力データ ファイルには少なくとも 2 つの列が含まれています。 1 つの列のデータ長が出力列の幅より大きいか小さい。 次の列のデータ長は、その列の出力列幅より 1 バイト長くなります。

    たとえば、出力列の幅が 50 の列のデータ長が 6 で、出力列の幅が 8 の次の列のデータ長が 9 であるとします。

    注: 出力列の幅は、[フラット ファイル接続マネージャー エディター] ダイアログ ボックスで指定できます。

  • データ変換が行われるように、列のデータ型を指定します。 たとえば、列に DT_WSTR Unicode 文字列データ型を指定します。 そのため、入力データファイルのデータ型が ANSI であればデータ変換が実行されます。

  • SSIS パッケージを実行します。

このシナリオでは、データの長さが出力列の幅より 1 バイト長い列の前の列のデータはインポートされません。

注: このシナリオの条件を満たす列が 2 つ以上ある場合、データの長さが出力列の幅より 1 バイト長い列の前にある最初の列のみがインポートされません。

解決策

累積的な更新プログラムの情報

SQL Server 2008 R2 Service Pack 1

この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム 1 で最初にリリースされました。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2544793 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム パッケージ 1 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 以降にリリースされた SQL Server 2008 R2 のビルド

SQL Server 2008 Service Pack 2

この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積的な更新プログラム 4 で最初にリリースされました。 この累積的な更新プログラム パッケージの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

2527180 SQL Server 2008 Service Pack 2 の累積的な更新プログラム パッケージ 4 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2008 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2402659 SQL Server 2008 Service Pack 2 SQL Server以降にリリースされた SQL Server 2008 ビルドは、特定の SQL Server Service Pack 用に作成されます。 SQL Server 2008 Service Pack 2 のインストールには、SQL Server 2008 Service Pack 2 修正プログラムを適用する必要があります。 既定では、1 つの SQL Server Service Pack で提供されているすべての修正プログラムは、次の SQL Server Service Pack に含まれています。

SQL Server 2008 R2

この問題の修正プログラムは、累積的な更新プログラム 7 で最初にリリースされました。 SQL Server 2008 R2 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2507770 SQL Server 2008 R2 の累積的な更新プログラム パッケージ 7 注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

981356 SQL Server 2008 R2 のリリース以降にリリースされた SQL Server 2008 R2 のビルド

SQL Server 2008

この問題の修正プログラムは、SQL Server 2008 Service Pack 1 の累積的な更新プログラム 13 で最初にリリースされました。 この累積的な更新プログラム パッケージの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

2497673 SQL Server 2008 Service Pack 1 の累積的な更新プログラム パッケージ 13 注: ビルドは累積的であるため、新しくリリースされた修正プログラムには、以前の SQL Server 2008 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

970365 SQL Server 2008 Service Pack 1 以降にリリースされた SQL Server 2008 ビルドには、特定の SQL Server Service Pack 用に Microsoft SQL Server 2008 修正プログラムが作成されます。 SQL Server 2008 Service Pack 1 のインストールには、SQL Server 2008 Service Pack 1 修正プログラムを適用する必要があります。 既定では、1 つの SQL Server Service Pack で提供されているすべての修正プログラムは、次の SQL Server Service Pack に含まれています。

SQL Server 2005 Service Pack 4

この問題の修正プログラムは、SQL Server 2005 Service Pack 4 の累積的な更新プログラム 3 で最初にリリースされました。 この累積的な更新プログラム パッケージの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

2507769 SQL Server 2005 Service Pack 4 の累積的な更新プログラム パッケージ 3 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2005 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2485757 SQL Server 2005 Service Pack 4 以降にリリースされた SQL Server 2005 ビルドには、特定の SQL Server Service Pack 用に Microsoft SQL Server 2005 修正プログラムが作成されます。 SQL Server 2005 Service Pack 4 のインストールには SQL Server 2005 Service Pack 4 修正プログラムを適用する必要があります。 既定では、1 つの SQL Server Service Pack で提供されているすべての修正プログラムは、次の SQL Server Service Pack に含まれています。

SQL Server 2005 Service Pack 3

                
  この問題の修正プログラムは、SQL Server 2005 Service Pack 3 の累積的な更新プログラム 15 で最初にリリースされました。 この累積的な更新プログラム パッケージの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

2507766 SQL Server 2005 Service Pack 3 の累積的な更新プログラム パッケージ 15 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2005 更新プログラム リリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

960598 SQL Server 2005 Service Pack 3 以降にリリースされた SQL Server 2005 ビルドには、特定の SQL Server Service Pack 用に Microsoft SQL Server 2005 修正プログラムが作成されます。 SQL Server 2005 Service Pack 3 のインストールには SQL Server 2005 Service Pack 3 修正プログラムを適用する必要があります。 既定では、1 つの SQL Server Service Pack で提供されているすべての修正プログラムは、次の SQL Server Service Pack に含まれています。

回避策

この問題を回避するには、フラット ファイル ソースでのデータ変換を避け、データがインポートされた後にデータ変換操作を実行します。

たとえば、入力データ ファイルのデータ型が ANSI の場合、列にDT_WSTR Unicode 文字列型ではなくDT_STR stringtype を指定できます。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

フラット ファイル接続マネージャーの詳細については、次の MSDN Web サイトを参照してください。

フラット ファイル接続マネージャーに関する一般的な情報SQL Server の増分サービス モデルの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

935897 報告された問題に対する修正プログラムを提供するために、SQL Server チームから提供されている増分サービス モデルを入手できます。SQL Server 更新プログラムの命名方式の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

822499 Microsoft SQL Server ソフトウェア更新プログラム パッケージの新しい命名スキーマソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明