私は、エンジニアリング会社のデータを管理する「偶然の DBA」です。各サイトには、SQL Server 2000 データベース内のサイト データの最新 3 か月間 (ローリング) のローカル ストアがあります。
SELECTこれらのデータベース (約 150 個) はプラント メーカーによって管理されており、データへのアクセスは読み取り専用です。管理アクセスを取得したり、これらのリモート データベースのテーブル、スキーマ、構成オプションなどを変更したりすることはできません。
これに加えて、オフィスの SQL Server 2012 (Standard エディション) データベースにすべてのデータの正確なコピー (同じテーブル、スキーマなど) を保持しています。これにより、リモートで保存された 3 か月分だけでなく、各サイトのすべての履歴データが保存されます。現在、リモート データが取得され、カスタム サードパーティ ツールを使用してオフィス データベースが更新されています。ただし、これは exe として提供されており、ソース コードを表示することはできません。
サードパーティの転送ツールの構成オプションが限られているため、それを置き換える方法を見つけるように依頼されました。もちろん、独自のカスタム アプリケーションを作成することもできますが、まず、既存の SQL Server ツールを活用できるかどうかを検討したいと考えました。
これまでのところ、私は調査を試みました (注: 私は SQL Server の専門家ではないため、誤りがあればご容赦ください)。
SQL Server レプリケーション: 私の理解が正しければ、これはソース データベースとターゲット データベースの両方で構成する必要がありますが、残念ながらこれはオプションではありません (SQL Server 2000 はレプリケーションをサポートしていないと思います)。
Microsoft Sync Framework : 私が読んだことから、これには変更を監視するためにソース データベースにテーブル/列を作成することが含まれます。私の場合、これは不可能です。
リンク サーバー (これ自体はレプリケーション テクノロジではないと思います。試してみただけです): リンク サーバーを作成しようとしましたが、リモート データベースが SQL Server 2000 を実行しているため、これは不可能です。
Service Broker: 1. および 2. と同様に、リモート データベースにキューを作成する必要があります。
だから、私の質問は次のとおりです。
SELECTリモート データベースに対する権限しかない場合に、インスタンス間でデータをレプリケートする SQL Server のツールはありますか?1. に対する答えが「いいえ」の場合、上記を実行するストアド プロシージャの良い例はありますか?
私の場合、各行にシグナルのタイムスタンプが含まれているため、変更の監視は比較的簡単です。したがって、これを監視して新しいデータを取得することができます。ただし、一部の列にはカウンター情報が含まれており、データがいつ取得されたかによって変更された可能性があります (タイムスタンプは同じですが、別の列が更新されている可能性があります)。これらのケースを処理する最善の方法は何ですか?
PS - 私は 7 月 29 日火曜日までオフィスを離れますので、それまでに提案を試みます。ご協力いただきありがとうございます!