SQL Remote 用の効率的な抽出手順の設計
概要:この文書では、複数のデータベースまたはリモート・データベースを非常に稼働率の高い統合サーバから効率的に抽出する方法を説明します。
複数のデータベースまたはリモート・データベースを、一日中非常に稼働率の高い統合サーバから効率的に抽出する方法は、次のとおりです。
1. リモート・ユーザを作成し、リモート・ユーザのサブスクリプションをすべてのパブリケーションに作成します。
2. checkpoint 文を発行します。
3. 統合サーバを停止し、サーバが正常に停止したかどうかを確認します。
4. dbbackup -c と自分の接続文字列を使用して、統合データベースのコピーを作成します。 これで、データベース・ファイルとログ・ファイルのバックアップ・コピー (c:\back\yourdatabasefilename.db と c:\back\yourdatabasefilename.log など) が作成されます。
5. 統合サーバを起動します。
6. ライブ・データベースからサブスクリプションを開始します。リモート・ユーザのすべてのサブスクリプションを 1 つのトランザクションで開始するには、REMOTE RESET 文 (Adaptive Server Anywhere (SQL Anywhere)の場合) を使用します。サブスクリプションは、リモート・ユーザごとに開始します。REMOTE RESET 文は、START SUBSCRIPTION 文の代わりに使用できます。 サブスクリプションの開始後は、サブスクライバにはデータベースがなく、まだメッセージを受信しませんが、メッセージはすべてのサブスクライバに送信されます。
7. データベースのコピーからリモート・データベースを抽出します。データベースがコピーであるため、ロックや同時実効性の問題は発生しません。リモート・データベース数が多い場合は、このプロセスに数日かかることがあります。
作成された各リモート・データベースは最新ではありませんが、そのユーザ (dbremote) は、ライブの統合データベースから送信されたメッセージの受信と適用により、データベースを最新にできます。