データベース
XenApp的またはXenDesktop的サイトは,以下の3种类のSQL服务器データベースを使用しています。
- サイト:(別名:サイト構成)実行中のサイト構成に加えて,その時点でのセッションの状態と接続情報を格納します。
- 構成ログ:(别名:ログ)サイト构成の変更や管理タスクに关する情报を格纳しますこのデータベースは,构成ログ机能が有效化(デフォルトは有效)されているときに使用されます。
- モニター:セッションや接続情報などのデータを格納するために,导演により使用されます。
各交付控制器は,サイトデータベースと通信します.Controllerとデータベース间の接続には的Windows认证が必要です。任意の控制器をシャットダウンしても,そのサイトのほかの控制器には影响しません。しかしながら,これはサイトデータベースが単一障害点になりうることを意味します。このデータベースサーバーで障害が発生しても,既存の接続は,ユーザーがログオフまたは切断するまでは机能し続けます。サイトデータベースが利用不可能な场合の接続动作について详しくは,「ローカルホストキャッシュ」を参照してください。
传送控制器をサイトに追加する際には、そのマシンのログオン資格情報を、高可用性のために使用するレプリカSQL Serverに追加してください。
データベースのバックアップを定期的に作成して、データベースサーバーに障害が発生してもバックアップから復元できるようにすることを思杰公司ではお勧めします。各データベースを異なる方法でバックアップしなければならない場合があります。手順については、CTX135207を参照してください。
サイトに複数のゾーンが含まれている場合は、サイトベースは引き続きプライマリゾーンに格納します。すべてのゾーンのコントローラーは、このデータベースと通信します。
高可用性
自動フェールオーバーを確実にするために、数種類の高可用性ソリューションがあります。
- AlwaysOn可用性グループ機能(基本的な可用性グループを含む):SQL Server 2012で導入されたエンタープライズレベルの高可用性および障害回復ソリューション。これにより1つまたは複数のデータベースの可用性を最大化できます。AlwaysOn可用性グループ機能では,Windows服务器故障转移集群(WSFC)ノード上にSQL Serverインスタンスが存在する必要があります。詳しくは。”https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/always-on-availability-groups-sql-server?redirectedfrom=MSDN&view=sql-server-ver15」を参照してください。
- SQL服务器データベースのミラーリング:データベースをミラーリングすると,アクティブなデータベースサーバーが停止しても自动フェールオーバー处理が実行され,ユーザーは通常,停止の影响を受けません。各データベースサーバー上に完全なSQL服务器ライセンスが必要になるため,ほかのソリューションよりも费用が高くつきます.SQL Server Express的エディションを使用してデータベースをミラーリングすることはできません。
- SQLクラスタリング:微软のSQLクラスタリングテクノロジを使用して、任意のサーバーに障害が起きた場合に別のサーバーが自動的にタスクや実行内容を引き継ぐようにできます。ただし、このソリューションのセットアップは複雑で、SQLミラーリングなどほかのソリューションよりも自動フェールオーバー処理には一般的に時間がかかります。
- ハイパーバイザーの高可用性機能の使用:この方法では,仮想マシンとしてデータベースを展开し,ハイパーバイザーの高可用性机能を使用します。このソリューションでは既存のハイパーバイザーソフトウェアを使用でき,またSQL Server Express的エディションも使用できるため,ミラーリングよりも费用が安いというメリットがあります。ただし,データベースの新しい仮想マシンの起动に时间がかかるため,自动フェールオーバー处理が遅くなり,ユーザーへのサービスが中断する可能性があります。
SQL Server高可用性ベストプラクティスを補完するローカルホストキャッシュ機能を使用すると,サイトデータベースが使用不可の場合でも,ユーザーがアプリケーションやデスクトップに接続および再接続できるようになります。詳しくは。”ローカルホストキャッシュ」を参照してください。
サイト内のすべての控制器で障害が起きた場合,VDAが高可用性モードで動作するように構成できます。これにより,ユーザーは障害発生後もデスクトップやアプリケーションにアクセスして使用することができます。高可用性モードでは,控制器を経由しない,VDAへの直接ICA接続が可能になります。控制器とのすべての通信に失敗した場合にのみ,この機能を使用してください。他の高可用性ソリューションの代わりに使用しないでください。詳しくは,CTX 127564を参照してください。
注
SQLクラスター化またはSQLミラー化インストールにおける,ノード上への控制器のインストールはサポートされていません。
データベースソフトウェアのインストール
デフォルトでは,初めて交付控制器をインストールしたときに,そのサーバーで他のSQL Serverインスタンスが検知されなかった場合に,SQL Server Expressエディションがインストールされます。通常,概念実証またはパイロット展開では,このデフォルトの動作で十分です。微软SQL Server Expressはただしの高可用性機能をサポートしていません。
デフォルトのインストールでは,デフォルトの视窗サービスアカウントおよび権限を使用します.Windowsサービスアカウントを系统管理员ロールに追加する方法など,デフォルトの设定について详しくは,微软社のドキュメントを参照してください.Controllerは,この构成で网络服务アカウントを使用します.SQL服务器に追加のロールまたは権限は必要ありません。
必要に応じて、データベースインスタンスで[インスタンスの非表示]を选択できます.Studioでデータベースのアドレスを构成する场合,インスタンス名ではなく,インスタンスの静的ポート番号を入力してください.SQL服务器データベースエンジンのインスタンスを非表示にする方法について详しくは,微软社のドキュメントを参照してください。
大半の実稼働展开,および微软の高可用性机能を利用しているすべての展开では,最初の控制器をインストールしたサーバー以外のマシンにインストールされており,なおかつ快以外のサポート対象エディションのSQL服务器を使用してください。サポートされているSQL服务器のバージョンについては,「システム要件」の记事を参照してください。データベースは1つまたは复数のマシンに常驻できます。
サイトを作成する前に、SQL Serverソフトウェアをインストールしておく必要があります。データベースを作成する必要はありませんが、作成する場合は、必ず空にしておいてください。微软高可用性テクノロジの構成も推奨されます。
Windows更新を使用して,SQL Serverを最新の状態に保ってください。
サイトの作成ウィザードを使ったデータベースのセットアップ
[サイトの作成]ウィザードの[データベース]ページで、データベースの名前とアドレス(場所)を指定します。「データベースのアドレス形式」を参照してください。经理が监控服务をクエリするときのエラーを回避するためには、監視データベースの名前にはスペースを使用しないでください。
[データベース]ページには,自动とスクリプト使用の2つのデータベース设定オプションがあります.Studioユーザーや的Citrix管理者が,必要なデータベースアクセス権を持っている场合は,通常,自动オプションを使用します。データベースのセットアップに必要な権限については,后述の「権限」を参照してください。
構成ログや監視データベースの場所は、サイトの作成後に変更できます。「データベースの场所の変更」を参照してください。
ミラーデータベースを使用するようにサイトを构成するには,以下の手顺を完了してから,自动またはスクリプトによるセットアップ手顺に进みます。
- SQL ServerソフトウェアをサーバーA.およびBにインストールします。
- サーバーA.に、プライマリとして使用するデータベースを作成します。サーバーA.のデータベースをバックアップしてから、サーバーBにコピーします。
- サーバーBで、バックアップファイルを復元します。
- サーバーA.でミラーリングを開始します。
サイトの作成后にミラーリング设定を検证するには,PowerShell的コマンドレット得到-configdbconnection
を実行して,ミラーに対する接続文字列でフェールオーバーパートナーが设定されていることを确认します。
ミラー化されたデータベース環境で传送控制器を後から追加、移動、または削除する場合は、「送货控制员」の記事を参照してください。
自動セットアップ
必要なデータベース権限を持っている场合は,サイトの作成ウィザードの[データベース]ページにある”工作室でデータベースを作成および設定する”オプションを選択し,プリンシパルデータベースの名前とアドレスを指定します。
指定したアドレスにデータベースが存在する场合,そのデータベースは空でなければなりません。指定されたアドレスにデータベースが存在しない场合,データベースが见つからないというメッセージが表示され,データベースを作成するかどうかの确认を求められます。作成に同意すると,工作室により自动的にデータベースが作成され,プリンシパルデータベースとレプリカデータベースに初期化スクリプトが适用されます。
スクリプトを使ったセットアップ
必要なデータベース権限がない场合は,データベース管理者など,権限を持っている人に支援を依頼する必要があります。その手顺は以下のとおりです。
- サイトの作成ウィザードで[スクリプトを生成]オプションを选択します。この操作により,合计6つのスクリプトが作成されます0.3つのデータベースそれぞれに対して2つずつ(1つはプリンシパルデータベース,もう1つは各レプリカデータベース)が使用されます。スクリプトの格纳先を指定します。
- これらのスクリプトをデータベース管理者に渡します。この时点で,サイトの作成ウィザードは自动的に停止します。あとでサイトの作成を続行しに戻ってきたときに,プロンプトが表示されます。
その后,データベース管理者がデータベースを作成します个々のデータベースには,次の特性が必要です。:
- “_CI_AS_KSで終わる照合順序を使用します。Citrixは、「_100_CI_AS_KS」で終わる照合順序の使用を推奨しています。
- 最適なパフォーマンスを実現するには、SQL Server读取提交的快照を有効化します。詳しくは、CTX137161を参照してください。
- 必要に応じて,高可用性機能を構成します。
- ミラーリングを构成するには,まず,完全复旧モデルを使用するようにデータベースを设定します(デフォルトは简易モデル)。プリンシパルデータベースをファイルにバックアップして,それをミラーサーバーにコピーします。ミラーデータベースで,バックアップファイルをミラーサーバーに复元します。その后,プリンシパルサーバーでミラーリングを开始します。
データベース管理者は、SQLCMDコマンドラインユーティリティ、またはSQL Server管理工作室をSQLCMDモードで使用し、高可用性SQL Serverデータベースインスタンスで各xxx_Replica.sqlスクリプトを実行します(高可用性機能が構成されている場合)。その後、プリンシパルSQL Serverデータベースインスタンスで各xxx_Principal.sqlスクリプトを実行します。SQLCMDについて詳しくは、微软のドキュメントを参照してください。
すべてのスクリプトが正常に終了したら,データベース管理者は,Citrix管理者に3種類のプリンシパルデータベースアドレスを渡します。
工作室には,サイトの作成の続行を促すプロンプトが表示され,[データベース]ページに戻ります。渡されたアドレスを入力します。データベースをホストしているサーバーのいずれかに接続できない場合、エラーメッセージが表示されます。
データベースのセットアップに必要な権限
データベースを作成し、初期化(または、データベースの場所を変更)するには、ローカル管理者およびドメインユーザーでなければなりません。また、特定のSQL Server権限も必要です。以下の権限は、活动目录のグループメンバーシップで明示的に構成または取得できます。演播室を使用する管理者にこれらの権限がない場合、SQL Serverユーザーの資格情報を入力する必要があります。
操作 | 目的 | サーバーロール | データベースロール |
---|---|---|---|
データベースの作成 | 空のデータベースを作成します | dbcreator | |
スキーマの作成 | サービス固有のすべてのスキーマを作成して,サイトに最初の控制器を追加します | 是securityadmin * | db_所有者 |
控制器の追加 | サイトに控制器(2)つ目以降)を追加します | 是securityadmin * | db_所有者 |
控制器(ミラーサーバー)の追加 | ミラー化されたデータベースのミラーロールのデータベースサーバーに控制器ログインを追加します | 是securityadmin * | |
控制器の削除 | サイトから控制器を削除します | ** | db_所有者 |
スキーマの更新 | スキーマの更新および修补程序を適用します | db_所有者 |
* securityadminは,技術的にはより限定的なサーバーロールですが,実際にはsysadminサーバーロールと同等のものとして扱われます。
**控制器を直接か桌面工作室で、または桌面工作室かSDKで生成されたスクリプトを使用してサイトから削除すると、データベースサーバーへの控制器ログオンは削除されません。これは、XenDesktopサービス以外で使用される同じマシン上のログオンが削除されるのを防ぐためです。ログオンが必要ない場合には、手動で削除する必要があります。ログオンの削除には、安全管理员サーバーロールのメンバーシップが必要です。
工作室を使ってこれらの操作を実行する场合,系统管理员サーバーロールの権限が必要です。
データベースのアドレス形式
データベースのアドレスは、以下の形式のいずれかで指定できます。
ServerName
服务器名\\实例名
ServerName, PortNumber
AlwaysOn的可用性グループ机能では,场所フィールドにグループのリスナーを指定します。
データベースの场所の変更
構成ログや監視データベースの場所は,サイトの作成後に変更できます。(サイトデータベースの場所を変更することはできません)データベースの場所を変更する場合は,以下の点に注意してください:
- 変更前のデータベース内のデータは変更後のデータベースにインポートされません。
- 构成ログデータベースの场所を変更する场合,変更前のデータベースの内容は集约されなくなります。
- 変更後のデータベースの最初にデータベースの変更を示すログが記録されますが,変更前のデータベースの場所は記録されません。
データベースが切断されているときの構成変更が禁止された環境(必須ログ機能)では、構成ログの場所を変更することはできません。
データベースの場所を変更する場合は,次の手順に従います。
- データベースを常驻させるサーバーに,サポートされているバージョンの的Microsoft SQL Serverがインストールされていることを确认します。必要に応じて,高可用性机能をセットアップします。
- 工作室のナビゲーションペインで[构成]を选択します。
- 场所を変更するデータベースを选択して,[操作]ペインの[データベースの変更]を选択します。
- 変更後の場所とデータベース名を指定します。
- 必要な権限を持っているのでデータベースを演播室で作成するという場合は、[好的]をクリックします。確認のメッセージが表示され、[好的]をクリックすると工作室によりデータベースが自动的に作成されます.Studioユーザーの资格情报を使ってデータベースへのアクセスが试行されます。それが失败すると,データベースユーザーの资格情报の入力を求められます。アクセスに成功すると,工作室によりデータベーススキーマがデータベースにアップロードされます(资格情报はデータベース作成时のみ保持されます)。
- 工作室にデータベースを作成させない場合,または必要な権限がない場合は,[スクリプトを作成]をクリックします。作成されるスクリプトには,データベースおよびミラーデータベース(構成する場合)を手動で作成するためのコマンドが記述されます。スキーマをアップロードする前に,データベースが空であること,および1人以上のユーザーがそのデータベースにアクセスでき,変更できることを確認してください。
详细杂记
- データベースのサイズ评価ツール
- 「サイト構成データベースのサイズ変更“および”接続文字列の构成”(SQL Serverの高可用性のためのソリューションを使用する場合)