回復性 StreamInsight アプリケーションのトラブルシューティング
このトピックでは、回復性 StreamInsight アプリケーションのトラブルシューティングに役立つ、回復性クエリの前提条件と発生する可能性がある一般的なエラーと障害について説明します。
回復性は、StreamInsight の Premium Edition でのみ使用できます。詳細については、「StreamInsight エディションの選択」を参照してください。
このトピックの内容
回復性クエリの前提条件
回復性サーバーを作成および設定するときのエラー
回復性クエリを定義するときのエラー
チェックポイントを保存するときのエラー
障害から回復するときのエラー
ネットワーク共有上でメタデータとログを保存するときのエラー
回復性クエリの前提条件
チェックポイントとして設定されるクエリは、次の要件を満たす必要があります。
出力アダプターを持つ必要があります。つまり、パブリッシュされたストリームだけを公開することはできません。
パブリッシュされたストリームは使用できません。
IObservable または IEnumerable 入力は使用できません。
AdvanceTimeImportSettings を使用して別のストリームから CTI をコピーすることによって同期されたストリームは使用できません。この使用方法は、「先行するアプリケーション時間」で説明しています。
[トップに戻る]
回復性サーバーを作成および設定するときのエラー
Server.Create メソッドの呼び出しによって、次の条件で例外が発生する可能性があります。
回復性の構成は、Server.Create メソッドまたは app.config ファイルを介して提供されるが、この構成によって SQL Server Compact メタデータ プロバイダーが指定されない。
回復性に指定されたログ パスが存在せず、サーバーがログ パスを作成するように構成されていない。
サーバーでログ パスを作成するように構成されているが、ログ パスの作成が発生しないか、失敗する。
サーバーに指定されたログ パスに書き込むため、およびログ パスから読み取るための十分な権限がない。
サーバーは回復性として設定されているが、StreamInsight のエディションが回復性をサポートするエディションではない。回復性は、Premium Edition でのみサポートされています。StreamInsight のエディションの詳細については、「StreamInsight エディションの選択」を参照してください。
[トップに戻る]
回復性クエリを定義するときのエラー
CepStream.ToQuery メソッドまたは Application.CreateQuery メソッドを介して回復性クエリを作成するための呼び出しによって、次の条件で例外が発生する可能性があります。
回復性の構成を提供し、SQL Server Compact メタデータ プロバイダーを指定することによって、サーバーが回復性として構成されていない。
クエリで IEnumerable ソースまたは IObservable ソースからイベントを使用する。
クエリでパブリッシュされたストリームからイベントを使用する。
クエリで同期化されたストリームを使用する。
クエリによりパブリッシュされたストリームのみに書き込まれる。
[トップに戻る]
チェックポイントを保存するときのエラー
チェックポイントを保存する呼び出しは失敗し、EndCheckpoint メソッドによって、次の条件で例外が発生する可能性があります。
サーバーで回復性が構成されていない。
クエリで回復性が構成されていない。
クエリが実行されていない。
チェックポイントが既に進行中である。この場合、最初のチェックポイントが成功すると、後続のすべての重なっているチェックポイントは失敗します。
EndCheckpoint メソッドが、アクティブなチェックポイント操作に対応しない IAsyncResult を使用して呼び出される。
EndCheckpoint メソッドが、EndCheckpoint が既に呼び出されたチェックポイントに対応する IAsyncResult を使用して呼び出される。
チェックポイント中に I/O エラーが発生した場合、実行中のすべてのチェックポイント操作は中断され、それらの EndCheckpoint 操作では例外が発生します。ただし、この I/O エラーは一時的である可能性があるため、後続のチェックポイント操作を引き続き試行できます。
[トップに戻る]
障害から回復するときのエラー
チェックポイント ファイルを読み取り中に I/O エラーが存在する場合、ファイルに依存するすべてのクエリは一時中断され、エラーの原因がクエリと共にログに記録されます。I/O エラーが一時的である可能性があるため、クエリは一時中断されますが、中止はされずにメタデータを保持します。
クエリの回復が失敗すると、回復を再開できません。次のいずれかの手順を試みることができます。
エラーが一時的である可能性がある場合、サーバーをシャットダウンして再起動し、回復を再試行します。
エラーが一時的ではない場合は、クエリを停止できます。
演算子またはアダプターの例外が原因で回復中のクエリが失敗した場合、クエリは中止されます。
クエリの回復の試行によってサーバーが失敗する場合は、次の手順を実行します。
回復性なしでサーバーを再起動します。
サーバーが失敗する原因となるクエリを停止します。
回復性ありでもう一度サーバーを再起動します。
[トップに戻る]
ネットワーク共有上でメタデータとログを保存するときのエラー
チェックポイント ログがネットワーク共有に保存される場合、チェックポイント処理で一時的 I/O エラーは致命的ではありません。
メタデータの SQL Server Compact データベースがネットワーク共有に保存される場合、すべての I/O エラーが致命的になり、StreamInsight サーバーは失敗します。
[トップに戻る]