Transaction Log Shipping その① [DBMS]
SQL Server のログ配布です。
プライマリデータベースでトランザクションログをバックアップしてセカンダリデータベースへ配布して適用する事により可用性を確保する構成です。
少々タイムラグがありますが、離れた場所にデータベースのコピーを作って障害に対応します。
下の絵は SQL Server 2008 R2 のオンラインヘルプから引っ張ってきたログ配布の説明図です。
SQL Server にはデータベースミラーリングという同じ様な機能が゜ありますが、あちらはバックアップは1つだけで、仕掛け上レスポンスに多少影響します。
ログ配布は配布先を複数持つ事が出来ますが、トランザクションの反映に少々タイムラグがあります。
とりあえずサーバ2台でログ配布をしてみます。
1つ目のサーバです。
SQL Server をインストールして、ログ配布するデータベースを作成します。
プライマリデータベースと呼びます。
2つ目のサーバです。
SQL Server のインストールは必要です。
一応、同規模のデータベースが作成してありますが、ログ配布を設定する時にプライマリデータベースのバックアップをリストアする予定です。
オンラインヘルプには書いてないのですが、ログを配布又は受取る時にネットワーク共有へアクセスするので SQL Server と SQL Server Agent の実行ユーザーをローカルシステムアカウントではなく、Administrator等のユーザーにします。この変更はそれぞれのサーバーの SQL Server Configuration Manager で行います。
さらに、SQL Server 同士で設定の時に通信をするのでWindows Server 2008以降では Windows Fire Wall に穴を開ける必要があります。
SQL Server の受信ポート 1433(デフォルト)を開けます。
ログを配布するフォルダを作成し、ネットワーク共有します。
全てのサーバに作る必然性はありませんが、フェイルオーバーしたりする事を考えて全てのサーバーで作成しました。
SQL Server でトランザクションログを使用する様にリカバリモデルを FULL にします。
以上で事前準備が整いましたので、セカンダリデータベースの作成に入ります。
まず、プライマリデータベースをバックアップします。
バックアップ先はどこでもよいのですが、ログ配布先フォルダにしています。
バックアップ中…
バックアップ完了
続いて、セカンダリデータベースで先ほど行ったバックアップをリストアします。
From device でバックアップファイルからバックアップ情報を取得します。
必要であれば、DBファイルの場所を調整したり、既存のデータベースの上書きをチェックします。
重要なのは、リカバリモードを RESTORE WITH NORECOVERY でリストアする事です。
リストア中…
リストア完了
続く
プライマリデータベースでトランザクションログをバックアップしてセカンダリデータベースへ配布して適用する事により可用性を確保する構成です。
少々タイムラグがありますが、離れた場所にデータベースのコピーを作って障害に対応します。
下の絵は SQL Server 2008 R2 のオンラインヘルプから引っ張ってきたログ配布の説明図です。
SQL Server にはデータベースミラーリングという同じ様な機能が゜ありますが、あちらはバックアップは1つだけで、仕掛け上レスポンスに多少影響します。
ログ配布は配布先を複数持つ事が出来ますが、トランザクションの反映に少々タイムラグがあります。
とりあえずサーバ2台でログ配布をしてみます。
1つ目のサーバです。
SQL Server をインストールして、ログ配布するデータベースを作成します。
プライマリデータベースと呼びます。
2つ目のサーバです。
SQL Server のインストールは必要です。
一応、同規模のデータベースが作成してありますが、ログ配布を設定する時にプライマリデータベースのバックアップをリストアする予定です。
オンラインヘルプには書いてないのですが、ログを配布又は受取る時にネットワーク共有へアクセスするので SQL Server と SQL Server Agent の実行ユーザーをローカルシステムアカウントではなく、Administrator等のユーザーにします。この変更はそれぞれのサーバーの SQL Server Configuration Manager で行います。
さらに、SQL Server 同士で設定の時に通信をするのでWindows Server 2008以降では Windows Fire Wall に穴を開ける必要があります。
SQL Server の受信ポート 1433(デフォルト)を開けます。
ログを配布するフォルダを作成し、ネットワーク共有します。
全てのサーバに作る必然性はありませんが、フェイルオーバーしたりする事を考えて全てのサーバーで作成しました。
SQL Server でトランザクションログを使用する様にリカバリモデルを FULL にします。
以上で事前準備が整いましたので、セカンダリデータベースの作成に入ります。
まず、プライマリデータベースをバックアップします。
バックアップ先はどこでもよいのですが、ログ配布先フォルダにしています。
バックアップ中…
バックアップ完了
続いて、セカンダリデータベースで先ほど行ったバックアップをリストアします。
From device でバックアップファイルからバックアップ情報を取得します。
必要であれば、DBファイルの場所を調整したり、既存のデータベースの上書きをチェックします。
重要なのは、リカバリモードを RESTORE WITH NORECOVERY でリストアする事です。
リストア中…
リストア完了
続く
2011-02-05 00:05
nice!(0)
コメント(0)
トラックバック(0)
コメント 0