0

ユーザー定義テーブルにはトリガーを実装できますが、システム テーブルには実装できません (log_shipping_primariesおよび)。バックアップファイルが生成されたとき、およびトランザクション ログ シップ ファイルファイルがコピーされ、セカンダリ データベースに復元されたlog_shipping_secondariesときに関する情報が格納されます。.bak.trn

目標: セカンダリ データベース (DR サイト) で 15 分を超える RPO (目標復旧時点) を実装する

log_shipping activities私は、履歴データを監視し、上級管理職に提供する任務を与えられました。問題は、これらの 2 つのテーブルが、新しいエントリが追加されるたびに (特定のデータベースの) 古いエントリを更新することです。

解決策 (SQL Server 2000 では機能しません): 新しいエントリが挿入されるたびに、トリガーを介して同様のデータをユーザー定義テーブルに挿入し、履歴データを保持します。

  1. システムテーブルにトリガーを実装する方法(必要な権限)またはそれはまったく可能ですか(正確にしてください)?
  2. ストアドプロシージャなどのトリガーの代替(私はストアドプロシージャの経験がありません)
4

3 に答える 3

1

バックアップとトランザクション ログの配布に SQL ジョブを使用している場合は、その前にステップを追加して、そのデータを履歴テーブルにインポートできます。

于 2013-02-15T07:54:45.820 に答える
0

システム テーブルにトリガーを作成することはできません。

適切な頻度 (たとえば、30 秒ごと) で実行されるジョブをSQL Server エージェントに追加することを検討します。

于 2013-02-15T10:03:23.500 に答える
0

各バックアップの前にテーブルからデータを保存するジョブを作成してみませんか? これを行う方法に関しては、それは本当にあなたの選択です。ストアド プロシージャを作成し、INSERT ステートメントを直接 SQL エージェント ジョブに書き込み、コンピュータのそばに座って 15 分ごとに F5 キーを押します... :-) たくさんのオプションがあります。

于 2013-02-15T12:01:49.283 に答える