私の現在の状況は、新しいデータがデータベース テーブルに到着したときに通知する必要があるアプリケーションを持っているということです。データは外部ソースからのものです (私には制御できません。これが唯一の統合オプションです)。新しいデータが到着すると、アプリケーションは特定のアクションを実行する必要があります。基本的には、新しいデータのクエリ、処理、結果のローカル テーブルへの挿入などです。
データはリアルタイムで処理されることが予想されるため、可能であればポーリングは避けたいと考えています。とはいえ、データが失われないようにすることが最優先事項です。
私の質問:
- SqlDependency は一般的に信頼できると考えられていますか?
- 競合状態について心配する必要はありますか? たとえば、ある変更を別の変更が到着したときに処理している場合などです。
- データベースが再起動されるとどうなりますか? アプリが回復して変更の受信を再開するか、または通知を定期的に再サブスクライブする何らかのフェイルセーフ タイマーが必要か?
- このトピックについて読んだ記事のほとんどは、SQL Server 2005 に関するものでした。SQL Server 2008 R2 を使用しています。SqlDependency よりも優先される新しい手法はありますか?
- (編集) また、アプリケーションがダウンした場合はどうなりますか? 起動時に欠落したデータを照会する必要があると思いますか?