この記事では、キャッシュ ファイルが破損している場合、データ コレクター コレクション セットがアップロードされない可能性があることを紹介します。
元の製品バージョン: SQL Server
元の KB 番号: 2019126
現象
Microsoft SQL Server データ コレクター collection set. を構成します。その後、新しいデータが Management Data Warehouse データベースにアップロードされていないことに気付きます。 コレクション セットのログを表示すると次のいずれかのエラー メッセージが表示されます。
エラー メッセージ 1
ファイルには、バージョンとフラグに関する無効な情報が含まれています。 ファイルが破損しているか、SSIS で生成された未加工のデータ ファイルではありません。
コンポーネント "Raw File Destination" (57) が実行前フェーズに失敗し、エラー コードが返0xC0202061エラー メッセージ 2
ファイル ヘッダーに無効なメタデータが見つかりました。 ファイルが破損しているか、SSIS で生成された未加工のデータ ファイルではありません。
コンポーネント "Raw File Destination" (57) が実行前フェーズに失敗し、エラー コード0xC020205Eエラー メッセージ 3
ファイル "Y" から X バイトを読み取っている間に、予期しないファイルの終わりが発生しました。 ファイルに無効な書式が含まれていたため、ファイルが途中で終了しました。
コンポーネント "Raw File Destination" (57) が実行前フェーズに失敗し、エラー コードが返0xC0202069エラー メッセージ 4
アダプターが認識できないデータ型 X を検出しました。これは、入力ファイル (ソース) が破損しているか、無効なバッファーの種類 (宛先) によって発生する可能性があります。
コンポーネント "Raw File Destination" (57) が実行前フェーズに失敗し、エラー コードが返0xC020206Bエラー メッセージ 5
文字列が長すぎます。 アダプターは、長さが X バイトの文字列を読み取り、オフセット Z で Y バイト以下の文字列が必要です。これは、入力ファイルが破損したことを示している可能性があります。 このファイルに書き込まれている文字列の長さは、バッファー列に対して大きすぎます。
コンポーネント "Raw File Destination" (57) が実行前フェーズに失敗し、エラー コードが返0xC020206C
原因
この問題は、1 つ以上のデータ コレクター キャッシュ ファイルが破損している場合に発生します。 破損は、次のいずれかの理由で発生する可能性があります。
- データ コレクターで例外が発生しました。
- データ コレクターがキャッシュ ファイルに書き込んでいる間、ディスクの空き領域が不足します。
- ファームウェアまたはドライバーの問題が発生します。
解決方法
破損したキャッシュ ファイルを見つけて削除します。 これを行うには、次の手順を実行します。
- SQL Server Management Studio を起動し、エラーが発生した SQL Server のインスタンスに接続します。
- Management フォルダーを展開し、Data Collection を右クリックし、Properties を選択します。
- Cache ディレクトリのディレクトリが表示される場合、これはデータ コレクター キャッシュ ファイルの場所です。 手順 5 に進みます。
- Cache ディレクトリのディレクトリが表示されない場合、既定のキャッシュ ディレクトリは、コレクション セットを実行するアカウントのローカル一時ディレクトリです。 このアカウントは、SQL Server エージェント サービス アカウントである可能性があります。 たとえば、Windows Server 2008 では、コレクション セットが sqlacct という名前のアカウントによって実行された場合、このアカウントの一時ディレクトリは次のようなパスにあります:
C:\Users\sqlacct\AppData\Local\Temp
。 - *を持つすべてのファイルを検索します。ファイル名拡張子をキャッシュし、ファイルを別のディレクトリに移動します。 コレクション セットがユーティリティ情報コレクション セットの場合は、コレクション セットを直接実行しないでください。 30 分待って、問題が解決されたかどうかを確認します。 コレクション セットが他のコレクション セットの場合は、コレクション セットを再起動します。