SQL Server 2008 R2 データベースミラーリング導入マニュアル(デュアルコンピュータ) SQL Server 2014 も適用可能です。
I. プライマリーマシン、セカンダリーマシンの設定
1. サーバーの基本情報
ホスト名は HOST_A、IPアドレスは 192.168.1.155
バックアップマシン名は HOST_B、IPアドレスは 192.168.1.156
II. マスターとバックアップインスタンスの相互運用性
相互運用を実現するためには、ドメインでも証明書でも構いませんが、以下は簡単のため、証明書による方法とします。注)quot;プライマリおよびスタンバイデータベースインスタンス相互運用"の操作は一度だけ行えばよく、例えば、2つのSQL Server 2008インスタンスで5つのデータベースをミラーリングする場合、以下の操作を一度だけ行えばよい。あるいは、プライマリとスタンバイインスタンスの各組(データベースではない)について相互運用を一度行う、と理解すればよいでしょう。
1. 証明書の作成(マスターとスタンバイは並列実行可)
--host executes.
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456';
CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate' ,
START_DATE = '2012-08-02',
EXPIRY_DATE = '2099-08-02';
-- The standby machine executes.
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456';
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate',
START_DATE = '2012-08-02',
EXPIRY_DATE = '2099-08-02';
2. 接続されたエンドポイントを作成する(プライマリとセカンダリは並列に実行可能です)
-- Host executes.
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
-- The standby machine executes.
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
3. 相互接続作成用バックアップ証明書(マスターとバックアップを並行して実行可能)
-- Host executes.
BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\SQLBackup\HOST_A_cert.cer';
-- The backup machine executes.
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\SQLBackup\HOST_B_cert.cer';
4. 互換性のある証明書
C:³³³にバックアップされた証明書を入れ替え、バックアップマシンのC:³³³にHOST_A_cert.cerをコピーします。HOST_A_cert.cerをバックアップマシンのC:⇄SQLBackupに、HOST_B_cert.cerをホストマシンのC:³³にコピーします。
5. ログイン名とユーザーの追加(マスターとスタンバイの並列実行が可能です)
以下の操作は、コマンドラインからのみ実行可能で、GUIからは実行できません。(SQL Server 2005時点のパッチ番号SP2)。
-- Host execution.
CREATE LOGIN HOST_B_login WITH PASSWORD = '123456';
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\SQLBackup\HOST_B_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
-- The standby machine executes.
CREATE LOGIN HOST_A_login WITH PASSWORD = '123456';
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:\SQLBackup\HOST_A_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
III. ミラー関係の確立
以下の手順は、データベースごとに行います。例えば、既存のホストに5つのデータベースがある場合、以下の手順を5回行う必要があります。
1. 手動によるログインとパスワードの同期
前述したデータベースミラーリングの欠点は、ログインをメンテナンスできないことなので、手動でメンテナンスする必要があります。
通常、データベースにはアクセスユーザーとして複数のユーザーが存在し、データベースには対応するログイン名が存在するが、待機機には対応するログイン名が存在しない。このような状況を「孤立したユーザー(isolated user)」と呼びます。ホストとスタンバイのデータベースで、同じユーザー名とパスワードを作成することができます。
2. スタンバイデータベースの準備(ホストのバックアップとイメージの復元)
ホスト上のデータベースをフルバックアップし、その後ログトランザクションバックアップを行います。
1. マスターデータのバックアップは、以下のようにフルモードに設定する必要があります。
上の画像のquot;Full mode"をquot;Recovery mode"にします。
2. 以下のように、データベースをバックアップします。
バックアップを行う際は、[バックアップの種類]に「フル」を選択してください。
3. トランザクションログを以下のようにバックアップします。
バックアップの種類で「トランザクション・ログ」を選択し、バックアップ・ディレクトリをバックアップ・データベース・ディレクトリと同じにします。
ホストマシンのフルバックアップを使用してバックアップマシンのバックアップファイルをリストアし、データのリストアは "with non recover" を使用します。図に示すように
正常に実行されると、データベースは次のようになります。
3. ミラーを作成する
-- Execute the following statement in the standby machine.
ALTER DATABASE shishan SET PARTNER = 'TCP://192.168.1.155:5022';
Note: shishan is the database name, which needs to be modified according to the actual. 192.168.1.155 is the host IP address, which needs to be modified according to the actual.
--Host executes.
ALTER DATABASE shishan SET PARTNER = 'TCP://192.168.1.156:5022';
注:shishanはデータベース名で、実際の運用に合わせて変更する必要があります。192.168.1.156はバックアップマシンのIPアドレスで、実際の運用に合わせて変更する必要があります。
実行に成功したら
この時点で、SQLイメージのホットスタンバイ構成は完了です。
IV. 共通コマンド
-- switch between master and standby
use master;
alter database testdb set partner failover;
-- Forced switchover of the standby
use master;
alter database testdb set partner force_service_allow_data_loss;
--restore mirror
use master;
alter database testdb set partner resume;
--un-witness server
ALTER DATABASE testdb SET WITNESS OFF ;
--unmirror
ALTER DATABASE testdb SET PARTNER OFF;
--set mirror database restore to normal
RESTORE DATABASE testdb WITH RECOVERY;
セクタサイズの異なるHDDにデータベースをバックアップする場合、以下のステートメントを実行することで、プライマリデータベースをバックアップすることができます。
BACKUP DATABASE MyDB TO DISK = N'D:\MyDB.bak' WITH INIT , NOUNLOAD , NAME = N'MyDB backup', STATS = 10, FORMAT
概要
上記のsqlサーバーのミラーリング設定を行うには、sqlサーバーの構成マネージャを使用して、以下のようにTCP/IPプロトコルを有効にする必要があります。
TCP/IPプロトコルが有効でない場合、ミラーリングは同じネットワークセグメント内のマシンでのみ設定でき、前の設定手順で使用したIPアドレスは、対応するインスタンス名に置き換える必要があります。同一ネットワークセグメントの構成とミラーリングの使用は、適時性と転送速度が高く、大量のデータの同期に適しています。セグメント間または公衆ネットワーク間のSQLサーバーミラーリングは、一般的に適時性の要件が低い少量のデータの同期に適しており、公衆ネットワーク上でデータベースを同期することは安全ではありません。
関連
-
SQL Server 2008のOrder byは、union句で直接利用できない
-
SQLServer 2008 データ挿入・更新用ストアドプロシージャ
-
SQL SERVER 2008のデータベースログファイルの縮小方法
-
SQL Server 2008のデータベース管理システムは、SQLステートメントを使用して、ログインユーザの手順を作成するために説明した
-
What to do if sql server can't connect SQL Server 2008R can't login solution (181418456)
-
sqlserver2008 初回ログイン失敗の問題と解決策
-
解決 SQL Server 2008は、". "ローカルローカル接続データベースを使用することはできません問題
-
SQL Server 2012 を 2008R2 にダウングレードする方法
-
SQL Server 2008 R2 認証モードの設定 グラフィックチュートリアル
-
SQL SERVER 2008 r2 のデータ圧縮の2つの方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL Server 2008のデータベースを復元する方法
-
SQL Server 2008 R2のCPUとメモリ使用量の増加に対する2つの解決策
-
sql server 2008のレジストリ書き込み失敗、vs2013のコア機能のインストール失敗を解決する。
-
SQL server 2008のログイン認証方式を変更する方法
-
sql server 2008 sa パスワードを忘れた場合の解決策
-
SQL Server 2008r2 データベースサービスにおける各種起動不能の解決方法 (詳細)
-
Sql Server 2008 Lite (Express) + Management Studio Express 初回インストールと使用方法のグラフィックチュートリアル
-
vueベースの兄弟コンポーネント間のイベントトリガー(詳細)
-
ログインとパーミッションのロール制御のためのSpringセキュリティ
-
Sql Server 2008R2アップグレード Sql Server 2012グラフィックチュートリアル