Microsoft SQL Server – Always On 高可用性 (Horizon ログ用データベースの作成)

sqlserver SQL Server

前回の記事「Microsoft SQL Server – Always On 高可用性 (ファイアーウォールポリシー設定)」でファイアウォールポリシーの設定が完了しました.
今回は Horizon ログ用の SQL Server データベースの作成を解説します.

Microsoft SQL Server – Always On 高可用性 (Horizon ログ用データベースの作成)

プログラムの一覧より「SQL Server Management Studio」を選択,クリックします.

「SQL Server Management Studio」が開き,ログイン画面が表示されますので認証情報を入力して「接続」をクリックします.

Horizon ログデータベースアクセス用のユーザーを作成する

画面左側のオブジェクト エクスプローラーを展開して「セキュリティ」-「ログイン」を開き,右クリックでメニューを表示して「新しいログイン」をクリックします.

「ログイン – 新規作成」の「全般」でアカウント情報を入力します.
今回は VMware Horizon のログデータベース用ですので SQL Server 認証かつ,パスワードポリシーは無効にします.

  • ログイン名
    SQL Server に接続する際のログイン名を指定します.
    Windows 認証の場合は Active Directory 上のアカウントを指定,SQL Server 認証の場合はログイン名を入力します.
  • 認証方法
    • Windows 認証
      Active Directory 認証を行います.Microsoft は推奨していますが,一部製品では Windows 認証ができませんのでその場合は SQL Server 認証を用いる必要があります.
    • SQL Server 認証
      SQL Server 内部にアカウント情報を作成します.
      • パスワードポリシーを適用する
        パスワードの複雑性などのポリシーを適用します.この設定を無効にすると以降の設定はグレーアウトします.
      • パスワードの期限を適用する
        パスワードに期限を設けます.
      • ユーザーは次回ログイン時にパスワードを変更する
        初回ログイン時にパスワードの変更を強制させます.
  • 規定のデータベース
    このユーザーが SQL Server に接続した際の規定のデータベースを指定します.
  • 既定の言語
    このユーザーが SQL Server に接続した際の規定の言語を指定します.

「サーバーロール」は,このアカウントに割り当てるロールです.一般アカウントの場合は public で十分です.

各ロールについて以下簡単に解説します.詳細については「サーバー レベルのロール」を参照ください.

  • bulkadmin
    BULK INSERT ステートメントを実行できます.
  • dbcreator
    任意のデータベースを作成,変更,削除,および復元できます.
  • diskadmin
    ディスク ファイルを管理できます.
  • processadmin
    SQL Server のインスタンス内で実行中のプロセスを終了できます.
  • public
    サーバー プリンシパルにセキュリティ保護可能なオブジェクトに対する特定のアクセス許可が与えられていないか,またはアクセス許可が拒否されている場合,そのユーザーは,そのオブジェクトに対して public に対して付与されているアクセス許可を継承します.
    すべてのユーザーがオブジェクトを使用できるようにする場合は,対象のオブジェクトに public 権限のみを割り当てます.
    public のメンバーシップを変更することはできません。
  • securityadmin
    ログインとログインのプロパティを管理します.
    サーバー レベルのアクセス許可を GRANT,DENY,REVOKE することができます.
    securityadmin は,データベースレベルのアクセス許可を GRANT,DENY,REVOKE することもできます.
    また,securityadmin は SQL Server ログインのパスワードをリセットできます.
  • serveradmin
    サーバー全体の構成オプションを変更したり,サーバーをシャットダウンしたりできます.
  • setupadmin
    Transact-SQL ステートメントを使用して,リンク サーバーを追加および削除できます.
  • sysadmin
    サーバーに対するすべての操作を実行できます.

「ユーザーマッピング」では特定のデータベースに対してのみ権限を変更したい場合に用いられます.
今回は後でデータベースを作成する際にオーナーとしてこのユーザーを指定することで設定を行います.

「状態」では,データベースエンジンに接続する権限やログインに対する権限を設定します.アカウントを無効化したいなどの場合に「拒否」や「無効」を設定します.

必要事項の入力が完了したら「OK」をクリックしてアカウントの作成を完了します.

Horizon ログ用データベースを作成する

「オブジェクトエクスプローラー」を展開し「データベース」を選択,右クリックでメニューを表示して「新しいデータベース」をクリックします.

「新しいデータベース」画面が開きますので「全般」タブでデータベース名などを設定します.

  • データベース名
    作成するデータベースの名前を入力します.
  • 所有者
    このデータベースの所有者を設定します.所有者に割り当てられたアカウントは DB Owner 権限が割り当てられ,このデータベースに対するすべての権限が付与されます.
  • データベースファイル
    初期サイズや拡張ポリシーを設定します.ある程度容量が分かっていれば初期サイズを大きくするなどを行う事でパフォーマンスの改善を図ることができます.

所有者は「既定」となっていますので検索ボタンをクリックして先ほど作成したアカウントを割り当てます.

「データベース所有者の選択」画面で作成したアカウントを入力して「名前の確認」をクリックします.

名前の検索が成功したら「[HORIZON_LOG]」のように [] で括られますので,この状態になっていることを確認して「OK」をクリックします.

所有者が変更されたことを確認します.

オプションでは,データベースのオプションを設定することができます.

  • 照合順序
    データを並べる際に大文字・小文字を意識するのかなどのポリシーを設定します.
    照合順序についての詳細な解説は「照合順序と Unicode のサポート」を参照ください.
    <規定> の場合は SQL Server をインストールした際に設定した照合順序である「Japanese_CI_AS」が選択されます.この場合は次のように判断されます.
    • 大文字/小文字の区別を行わない
    • アクセントの区別を行う
    • ひらがなとカタカナの区別を行わない
    • 全角/半角の区別を行わない
  • 復旧モデル
    復旧モデルは,トランザクションをログに記録する方法,トランザクション ログのバックアップを必須 (および可能) にするかどうか,利用できる復元操作の種類などを制御するデータベースの設定です.
    詳細については「復旧モデル (SQL Server)」を参照ください.
    • 完全
      データ ファイルの消失や損傷によって作業が失われることはありません.
      アプリケーションエラーやユーザーエラーの発生前など,任意の時点に復旧できます.
    • 一括ログ
      完全復旧モデルを補完するためのもので,パフォーマンスに優れた一括コピー操作を実行できます.
    • 単純
      トランザクションログを保持しないため,障害時はデータ損失が起こり得ます.また Always On 高可用性は利用できません.
  • 互換性レベル
    SQL コマンドや機能の互換性のレベルを設定します.過去のバージョンに最適化されたシステムの場合はバージョンを下げる必要がある場合があります.

Always On 高可用性による冗長化を考えている場合は復旧モデルは「完全」または「一括ログ」である必要があります.今回は「完全」を選択します.

「ファイルグループ」はデータベースを異なるディスクに分散配置したい場合などに利用されます.
詳細については「データベース ファイルとファイル グループ」を参照ください.
今回は何もせずに「OK」でデータベースを作成します.

アカウントの既定のデータベースの修正

アカウントの作成,データベースの作成が完了しましたので,作成済みアカウントのプロパティを修正して規定のデータベースを変更します.

作成したアカウントを選択,右クリックでメニューを表示して「プロパティ」をクリックします.

「全般」で「既定のデータベース」を先ほど作成したデータベースに変更します.

「ユーザーマッピング」をクリックすると,各データベースに対する権限が表示されます.
先ほどのデータベースの作成で所有者をこのアカウントにしていますので dbo/db_owner (Database Owner) の権限が付与されています.

この状態を確認して「OK」でプロパティ画面を終了します.

以上で VMware Horizon 用のログデータベースの作成は完了です.
SQL Server の冗長化を行わない場合はこのまま Horizon Admin 画面からデータベースの設定を行う事が可能ですが,今回は Always On 高可用性による冗長化の構成を取りますので次回 Always On 高可用性の設定について解説を行います.

コメント

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