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 −要件に応じて、上記の画面に示されているように赤いカラーボックスで表示される「ミラーリング」または「トランザクションログ配布」と呼ばれるオプションを選択し、システム自体がガイドするウィザードの手順に従って構成を完了します。