2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQLServer冗長化~AlwaysOnの構築編~

Posted at

こんにちは!haruです。

前回まで AD サーバーWSFC のセットアップを行ってきました。
準備が整ったため、Always On の構築を行っていきます。

SQLServer のインストール

SQLServer のインストールは以下の記事を参考にしていただければ幸いです。

Always On可溶性グループを有効にする ※NODE1,NODE2の両方で実施

1.SQL Server 構成マネージャーを起動
image.png

2.SQLServer を右クリックして「プロパティ」をクリック
image.png

3.「Always On 可溶性グループ」タブをクリックして、「Always On 可溶性グループを有効にする」のチェックボックスにチェックマークを入れる
image.png

4.サービスを起動し、SQLServer サービスを再起動します。
image.png

SQL Server 実行ユーザーの作成と設定

ユーザー作成 ※AD側で実行

1.「Active Directory ユーザーとコンピューターを起動」
image.png

2.「USERS」を右クリックし「新規作成」→「ユーザー」をクリック
image.png

3.任意の名称を入力し次へ
image.png

4.任意のパスワードを入力し、「ユーザーは次回~」のチェックボックスを外して次へ
※今回はめんどくさいのでチェックボックスを外しています。
image.png

5.完了をクリック
image.png

NODE1とNODE2のSQLServer 実行ユーザーを変更 ※NODE1とNODE2で実行します。

1.SQL Server 構成マネージャーを起動
image.png

2.SQLServer を右クリックし、プロパティをクリック
image.png

3.「アカウント名」と「パスワード」を入力して適用をクリック
※アカウント名の入力前に、参照ボタンを押しADサーバーのUsersディレクトリを選択します。
※適用することでサービスが再起動します。
image.png

TCP/IPを有効にする

詳細は以下のQiitaをご参照ください。

ファイアウォールの無効化

1. ファイアーウォールのドメインネットワーク設定を無効化する
本来はこのような暴挙はしませんが、今回は一括で停止します。
image.png

共有フォルダの作成 ※NODE1とNODE2で実行します。

1.エクスプローラを開き。Cドライブ配下にディレクトリを作成する
image.png

2.作成したディレクトリの「プロパティ」→「セキュリティ」タブを開き、作成したユーザーを追加する
image.png

3.追加したユーザーに権限を付与する
image.png

バックアップ用ディレクトリ ※ADサーバーで実行します。

1.バックアップ用のディレクトリを作成し、権限を付与します。
image.png

データの作成 ※NODE1でのみ実行

1.DBを作成します
image.png

2.テーブルにデータを挿入します
image.png

DBバックアップ ※NODE1でのみ実行

1.作成したDBを右クリックし、「タスク」→「バックアップ」をクリックします
image.png

2.すでに作成してあるバックアップ用のディレクトリを指定します
image.png

3.OKをクリック
image.png

可用性グループ作成 ※NODE1でのみ実行します。

1.「Always On 可用性グループ」→「可用性グループ」を右クリックして、「新しい可溶性グループウィザード」をクリック
image.png

2.次へ
image.png

3.「可用性グループ名」を入力して次へ
image.png

4.チェックボックスにチェックを入れて次へ
image.png

5.「レプリカの追加」でNODE2を指定して次へ
※今回は自動フェールオーバーのチェックボックスにはチェックを入れています。
image.png

6.「完全なデータベースとログバックアップ」を選択し、NODE1及びNODE2から接続可能なディレクトリを指定し次へ
このディレクトリはADサーバーに作成し、共有ディレクトリの設定をしています。
image.png

7.次へ
image.png

8.完了
image.png
完了しました
image.png

リスナーの作成

1.作成した可用性グループを右クリックし、「リスナーの追加」をクリック
image.png

2.各項目を入力して、OKをクリック
IPアドレスはこれまでの構成に使用していないものを使用します。
image.png

データ連携確認

NODE1で入れたデータをNODE2で確認
image.png
ちゃんとデータが連携されていますね!

包含データベースを有効にしてフェイルオーバー時の動作を確認する

1.サーバーの「プロパティ」の「詳細設定」欄で「包含データベースの有効化」を「True」に変更※NODE1とNODE2で実行します。
image.png

2.可用性グループに指定したDBを右クリックし、「プロパティ」の「オプション」欄で「包含の種類」を「部分」に設定する※NODE1で実行します。
image.png

3.「セキュリティ」を右クリックし、新規ユーザーを作成する
image.png

4.SQLServer がインストールされている別サーバーで「Windows PowerShell」を起動し、クライアント接続を行う
接続先のIPアドレスはリスナーのIPアドレスを指定します。

PS *****> sqlcmd -S ***.**.**.*** -U usertest1 -d DB1 -P **********
1> use DB1
2> go
データベース コンテキストが 'DB1' に変更されました。
1> select * from dbo.Table_1
2> go
id          name
----------- --------------------------------------------------
          1 tanaka
          2 tanabe

(2 行処理されました)

5.プライマリ側をOSレベルでシャットダウン
image.png
image.png

6.NODE1側がプライマリになっていることを確認
image.png

また、プライマリ側をOSレベルでシャットダウンしても、テーブルを参照することが可能です。

1> select * from dbo.Table_1
2> go
id          name
----------- --------------------------------------------------
          1 tanaka
          2 tanabe

無事フェイルオーバーしたことが確認できました。

以上です!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?