Microsoft SQL Server – Always On 高可用性 (Always On 高可用性の構成 ④)

sqlserver SQL Server

今回は SQL Server 認証でも Always On 高可用性グループによる冗長化されたデータベースを利用するためのセカンダリーノードでの追加設定について解説します.
Windows 認証の場合は本設定は不要です.

Microsoft SQL Server – Always On 高可用性 (Always On 高可用性の構成 ④)

SQL Server 認証の場合,SQL Server ノードで認証情報を持っていますのでフェイルオーバー後の認証や権限が無いため不具合が生じます.ですので,一度フェイルオーバーさせて権限割当てを行う必要があります.
フェイルオーバーさせないとセカンダリ側でデータベースの操作ができないため,フェイルオーバーで切り替えてあげる必要があるのです.
Windows 認証のデータベースの場合は本作業は不要です.

セカンダリサーバーの権限変更

フェイルオーバーさせたいデータベースが含まれている高可用性グループを選択,右クリックで「フェイルオーバー」をクリックします.

「高可用性グループのフェイルオーバー」ウィザードが起動しますので「次へ」をクリックします.

「新しいプライマリレプリカ」の選択でフェイルオーバーさせたいノードをクリックして「次へ」をクリックします.
画面では警告が出ていますが,これは AlwaysOn 高可用性グループを構成する際の設定で同期が非同期であるためです.
設定で同期を行うようにしている場合は表示されません.

「データ損失の可能性の確認」では,非同期の場合に損失が発生する可能性を警告しています.
今回はまだ未使用のデータベースである気にせずに「データ損失の可能性があるフェールオーバーを確認するには、ここをクリックします」にチェックを入れて「次へ」をクリックします.

もし,使用中のデータベースかつ,データ損失をなるべく抑えたい場合はこのウィザードを終了して AlwaysOn 高可用性グループの同期設定を変更してください.

「レプリカに接続」では先に選択したセカンダリノードに接続を行います.「接続」をクリックしてください.

「サーバーへの接続」ウィンドウが出て,セカンダリノードへの接続を促されますので認証情報を入力の上「接続」をクリックします.

セカンダリノードへの接続が完了したら「次へ」をクリックします.

「概要」では,フェイルオーバーの概要が表示されますので確認の上「完了」をクリックします.

フェイルオーバーが実行され「結果」にて状態が表示されます.
全て成功であれば無事フェイルオーバーが完了していますので「閉じる」をクリックします.

セカンダリノードの設定変更

セカンダリノードに接続して「データベース」より設定を変更したいデータベースを選択,右クリックでメニューを表示して「プロパティ」をクリックします.

「データベースのプロパティ」で「ファイル」をクリックします.
所有者が何もない状態が確認できますので「…」をクリックします.

「データベースの所有者の選択」でプライマリーノードで指定したユーザーと同じユーザー名を入力して「名前の確認」をクリックします.

ユーザーが検索出来たら,ユーザー名が [ユーザー名] と括られますので「OK」をクリックします.

所有者が設定されたことを確認して「OK」をクリックします.

セカンダリーノードのアカウントの修正

規定のデータベースを変更,アカウント状態を確認します.
本設定は必須ではありません.アカウント状態の確認だけの実施でも大丈夫です.

「セキュリティ」-「ログイン」より設定したいアカウントを選択,右クリックでメニューを表示して「プロパティ」をクリックします.

「全般」で「既定のデータベース」を変更します.

「ユーザーマッピング」でデータベースと権限を確認して,プライマリーノードと同一になっていることを確認します.
この際,プライマリーノードのデータベースは接続ができませんのであらかじめ設定状態を確認しておきましょう.

確認が完了したら「OK」で終了します.

a

プライマリーノードへのフェイルオーバー (フェイルバック)を実行

本項目も必須ではありませんが,プライマリーノードへ役割を戻します.
(日本人的にはプライマリーが優先というケースが多いため解説します)

操作はプライマリーノード,セカンダリーノードいずれでも構いません.今回はプライマリーノードで実施しています.
「AlwaysOn 高可用性グループ」-「可用性グループ」より,フェイルオーバーしたい高可用性グループを選択,右クリックして「フェールオーバー」をクリックします.

ウィザードが起動し「説明」が表示されますので「次へ」をクリックします.

「新しいプライマリレプリカの選択」でプライマリーにしたいノードを選択して「次へ」をクリックします.

「データ損失の可能性の確認」にて「データ損失の可能性があるフェールオーバーを確認するには、ここをクリックします」にチェックを入れて「次へ」をクリックします.

「概要」で内容を確認の上「完了」をクリックします.

フェイルオーバーが開始・完了し「結果」ですべて成功であれば正しくフェイルオーバーが完了しています.
「閉じる」をクリックしてウィザードを完了します.

以上で,SQL Server 認証でも AlwaysOn 高可用性グループを用いた冗長構成のデータベースを利用することができます.

次回は今回の AlwaysOn 高可用性グループで冗長したデータベースを利用して VMware Horizon のログデータベースの設定について解説します.

コメント

タイトルとURLをコピーしました