私は自分が求めているものを手に入れる方法を知っているので、これに関する知識を求めていますが、それが最善のアプローチであるかどうか疑問に思っています. プロジェクト クリープにより、かつては非常に単純なアプリケーションだったデータベースが非常に複雑になり、管理は簡単ではありませんでした。
私は今、本質的にやり直す機会を得ましたが、古いアプリケーションから新しいアプリケーションに徐々に機能を移行していきます。これには、新しいデータベースを古いデータベースと同期させておく必要があります。ありがたいことに、移行する必要がある新しいデータベースにデータが作成されないため、これは一方向で十分です。
これまでに検討したオプションは、SSIS と、単純な古い C# ADO.Net を使用した Quartz トリガー Windows サービスです。私が決定した SSIS はおそらく悪い考えです。アップサートの悪夢になる可能性があり、一時テーブルを作成してからマージする必要があり、スキーマの違いがかなり大きいため、SSIS ロジックが頭痛の種になるでしょう。ADO.Net アプローチは、データ リーダー、一括挿入、および LINQ がうまく機能するはずなので、私が傾倒している方向です。しかし、これが私の前に何人の人に影響を与えたに違いないかを考えると、もっと良い方法があるに違いないと思います. 皆さんはどのようなアプローチをしていますか?
もう少し具体的にするために、詳細は次のとおりです。
- SQL Server 2008 R2
- 約 30 のテーブルで ~200 万行 -> ~20 のテーブル
- データベースはそれぞれ、異なる認証情報を持つ完全に別個のデータベース サーバー上にあります。
どうもありがとう