MS SQLServer-HAテクノロジー
高可用性(HA)は、計画的または計画外の停止時にアプリケーション\データベースを24時間365日利用できるようにするソリューション\プロセス\テクノロジーです。
主に、MS SQL Serverには、データベースの高可用性ソリューションを実現/セットアップするための5つのオプションがあります。
レプリケーション
ソースデータは、レプリケーションエージェント(ジョブ)を介して宛先にコピーされます。オブジェクトレベルのテクノロジー。
用語
- パブリッシャーはソースサーバーです。
- ディストリビューターはオプションであり、サブスクライバーの複製データを格納します。
- サブスクライバーは宛先サーバーです。
ログ配送
ソースデータは、トランザクションログバックアップジョブを介して宛先にコピーされます。データベースレベルのテクノロジー。
用語
- プライマリサーバーはソースサーバーです。
- セカンダリサーバーは宛先サーバーです。
- 監視サーバーはオプションであり、ログ配布ステータスによって監視されます。
ミラーリング
プライマリデータは、ミラーリングエンドポイントとポート番号を使用して、ネットワークトランザクションベースでセカンダリにコピーされます。データベースレベルのテクノロジー。
用語
- プリンシパルサーバーはソースサーバーです。
- ミラーサーバーは宛先サーバーです。
- 監視サーバーはオプションであり、自動フェイルオーバーを行うために使用されます。
クラスタリング
データは、サーバーの可用性に基づいてプライマリサーバーとセカンダリサーバーの両方で使用される共有の場所に保存されます。インスタンスレベルのテクノロジー。共有ストレージでは、Windowsクラスタリングのセットアップが必要です。
用語
- アクティブノードは、SQLサービスが実行されている場所です。
- パッシブノードは、SQLサービスが実行されていない場所です。
AlwaysON可用性グループ
一次データは、ネットワークトランザクションベースで二次データにコピーされます。データベースレベルのテクノロジーのグループ。共有ストレージなしでWindowsクラスタリングのセットアップが必要です。
用語
- プライマリレプリカはソースサーバーです。
- セカンダリレプリカは宛先サーバーです。
以下は、クラスタリング、AlwaysON可用性グループ、およびレプリケーションを除くHAテクノロジー(ミラーリングとログ配布)を構成する手順です。
Step 1 −ソースデータベースの完全バックアップとTログバックアップを1つずつ作成します。
例
'TESTINSTANCE'のデータベース 'TestDB'のミラーリング\ログ配布をプライマリとして構成し、 'DEVINSTANCE'をセカンダリSQLServerとして構成するには、次のクエリを記述して、ソース(TESTINSTANCE)サーバーで完全バックアップとTログバックアップを作成します。
'TESTINSTANCE' SQL Serverに接続し、新しいクエリを開いて次のコードを記述し、次のスクリーンショットに示すように実行します。
Backup database TestDB to disk = 'D:\testdb_full.bak'
GO
Backup log TestDB to disk = 'D:\testdb_log.trn'
Step 2 −バックアップファイルを宛先サーバーにコピーします。
この場合、1つの物理サーバーと2つのSQL Serverインスタンスしかインストールされていないため、コピーする必要はありませんが、2つのSQL Serverインスタンスが異なる物理サーバーにある場合は、次の2つのファイルを任意の場所にコピーする必要があります。 'DEVINSTANCE'インスタンスがインストールされているセカンダリサーバー。
Step 3 −「norecovery」オプションを使用して、宛先サーバーのバックアップファイルを使用してデータベースを復元します。
例
'DEVINSTANCE' SQL Serverに接続し、新しいクエリを開きます。次のコードを記述して、データベースミラーリングのプライマリデータベース(「TestDB」)と同じ名前である「TestDB」という名前でデータベースを復元します。ただし、ログ配布構成には別の名前を付けることができます。この場合、「TestDB」データベース名を使用しましょう。2つの(完全バックアップファイルとtログバックアップファイル)復元には、「norecovery」オプションを使用します。
Restore database TestDB from disk = 'D:\TestDB_full.bak'
with move 'TestDB' to 'D:\DATA\TestDB_DR.mdf',
move 'TestDB_log' to 'D:\DATA\TestDB_log_DR.ldf',
norecovery
GO
Restore database TestDB from disk = 'D:\TestDB_log.trn' with norecovery
次のスナップショットに示すように、「DEVINSTANCE」サーバーのデータベースフォルダーを更新して、復元されたデータベース「TestDB」を復元ステータスで表示します。
Step 4 −次のスナップショットに示すように、要件に従ってHA(ログ配布、ミラーリング)を構成します。
例
プライマリである「TESTINSTANCE」SQLServerの「TestDB」データベースを右クリックし、「プロパティ」をクリックします。次の画面が表示されます。
Step 5 −要件に応じて、上記の画面に示されているように赤いカラーボックスで表示される「ミラーリング」または「トランザクションログ配布」と呼ばれるオプションを選択し、システム自体がガイドするウィザードの手順に従って構成を完了します。