4
3

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 5 years have passed since last update.

SQL Server AlwaysOn 構築メモ(その4)

Last updated at Posted at 2015-08-31

前編では可用性グループを作成し、実際にデータが同期されるところまで設定しました。
ここでは、ユーザーの追加や接続テストなどをしてみます。

##全体構成

##本編での主な内容

  • 接続ユーザーの追加(包含データベース設定)
  • アクセスしてみる

##接続ユーザーの追加

可用性グループに追加されたDBにアクセスするユーザーは通常のユーザーではダメです。
SQL Serverでは、データベースのユーザーと、ログインが別の概念になっているため、データベース単位で同期されるAlwaysOnでは、通常のログイン機構がうまく機能しないためです。

そこで、データベースにユーザー情報を含ませる「包含データベース」を構成し、AlwaysOnでもうまく機能するユーザーを追加します。

包含データベースを利用せずに、全てのサーバに同じSIDのユーザーを作る方法もあるようですが、ここでは王道?の包含データベース設定を行ないます。

###包含データベースの設定

手順としては、

  • SQL1,SQL2のSQL Server全体のプロパティにて、「包含データベース」を"true"にします。
  • 次に包含データベースにするDBのプロパティにて「コンテインメントの種類」を"部分"に設定します。

という感じです。

####包含データベースを有効にする

Mangement Studioでデータベースの最上位を右クリックして、プロパティを開き、詳細設定を選択します。
そして「包含データベースの有効化」をTrueに変更します。この操作はSQL1,SQL2の両方で行って下さい。

ao

####コンテインメントの種類を部分にする

今度は、可用性グループに参加させたDBを選択し、右クリックしてプロパティを開きます。
そして、オプションの設定を選択し、「コンテインメントの種類」を部分にします。

ao

このステップでAlter Tableするエラーに何度か遭遇しました。同期中でロックされてるのか?など、いろいろ考えましたが、原因はテーブルのデザイン(エディタ)を開きっぱなしにしていることでした。実行済のクエリエディタが開いていてもダメなようです。

なお、デザインエディタ等を閉じてもだめな場合は、Management Studioの利用状況モニターから対象のDBを掴んでるプロセスが無いか確認んし、必要なら強制終了すればいいと思います。

ao

####ユーザーを作成する

なんとかコンテインメントの種別を部分に変更できたら、いろいよユーザーを追加します。
全体のログインではなく、各データベースのセキュリティ、ユーザーから、新しいユーザーを追加します。

ao

ユーザー名、パスワードを設定します。

ao

その後、メンバーシップにて、ユーザーに付与する権限を目的に応じて選択します。

ao

##アクセスしてみる

では、実際に作成したユーザー情報やリスナーでアクセスできるか試してみます。
なお、実運用では、DMZに設置されたWebサーバからアクセスするというなケースが多いと思いますが、わざわざWebサーバを立てるのもなんですので、ADにSQL Serverのクライアントツールをインストールして、接続実験をしてみます。

###クライアントツールのインストール

とりあえず、ここではコマンドラインツールであるsqlcmdを使ってみます。
sqlcmdはSQL Serverのインストールディスクの中から、基本ツールをインストールすると入ります。Feature Packなどからも個別にインストール可能なようです。

ao

インストールできたら、接続できるか確認してみます。
書式は、

sqlcmd -S hostname -U username -P password -d database

包含データベースへのアクセスの場合はDB名を指定します。

ao

と表示されれば、ログイン成功です。何か操作を行ってみましょう。

ここまでで、AlwaysOnの基本構成は終わりました。フェールオーバーできるか等、確認したいところですが続きはその5で。

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?