0

部分的に新しいアプリケーションに置き換えられるレガシーアプリケーションを使用しているクライアントがあります。どちらも、スキーマは似ていますが異なるSQL Server2008R2データベースを使用しています。新しいデータベースは、より適切な正規化のために統合されたテーブルと分割されたテーブルの両方を備えた古いデータベースのスーパーセットです。

最終的には新しいアプリケーションが古いアプリケーションを完全に置き換えますが、それらはしばらくの間並行して存在し、一方に入力されたデータはほぼリアルタイムでもう一方に反映される必要があります。レプリケーション+SSISのようなものをサポートする製品またはさらに良いMSパッケージはありますか?

私たちが今思いついた解決策は、新しいデータベースに書き込むトリガーを古いデータベースに実装し、データレイヤー(誰かが気にかけている場合はC#/。NET)の古いデータベースへのレプリケーションを実装することです。技術的理由と政治的理由の両方から、古いアプリケーション(常温核融合)を同じように変更することはできない。このソリューションは機能しますが、明らかに醜いので、可能であればもっとエレガントなものが必要です。

何か案は?

4

1 に答える 1

1

あなたが持っている解決策(トリガー)は、おそらく他の解決策と同じくらい良い解決策です。正規化プロセスの分散の性質を考えると、既成の解決策を見つける可能性は低いと思います。

マージレプリケーションを使用すると、何か賢いことを達成できる可能性があります。

おそらく、新しいデータベースで同じデータモデルを実際に使用して、マージレプリケーションを確立することができます。次に、ビューを作成し、それらにいくつかのトリガーをアタッチinstead ofして、新しいテーブル構造をシミュレートします。(または、正確に逆方向に実行します。新しいモデルを古いデータベースに複製し、ビューとトリガーを使用して古いデータモデルを古いアプリケーションにシミュレートします。)

ただし、この場合の唯一の最良のオプションは、おそらくSSISパッケージを作成することです。結局のところ、これは実際にSSISが処理するように設計された種類の問題です。

于 2013-03-16T05:20:25.820 に答える