私の新しいクライアントは、2002 年に作成された小さな VB/Access データベース アプリケーションを持っており、それを最新のものにし、彼が以前から望んでいた新機能をサポートするために書き直したいと考えています。そのため、ローカル マシンで C#.NET 2008 と SQL Server Express 2008 を使用するように変換し、リモート サーバーで WCF と SQL Server 2008 を使用するようにスケーリングする機能を備えています。
彼が興味を持っている新機能の 1 つは、一定期間にわたるデータ変更の完全な履歴を維持し、レポートすることです。以前は、トリガーとストアド プロシージャを使用してこれを行っていましたが、@!#$.
最近、SQL Server 2008 の Change Data Capture 機能をいじりたくてうずうずしていました。最初の 1 時間使ってみたところ、デフォルトで 5 秒ごとに実行されるジョブが SQL Agent に作成されることに気付きました。また、キャプチャしたテーブルのスキーマを変更する必要がある場合は、少し面倒なようです。それ以外は、私の元の方法よりも実装がはるかに簡単に思えます。だから、これらは私の質問です:
- 最終的にリモート サーバーに移行する可能性がある、または移行しない可能性がある小さなデスクトップ アプリケーションにとって、これはやり過ぎでしょうか?
- パフォーマンスに関して何を期待すればよいですか? 彼のデータベースのサイズが大きくなるにつれて、コンピューターの動作が遅いという彼からの電話が増えるのでしょうか?
- 現在本番環境で使用している他の人から知っておくべき、CDC に関するその他の落とし穴はありますか?
- 小さなデスクトップ アプリケーションにより適した、時間の経過に伴う変化を追跡するお気に入りの方法へのリンクを持っている人はいますか?
ありがとう、
マルク