データベースとサイトをアップグレードする

最終公開日 : Nov 13, 2026
データベースとサイトは、Delivery Controllerをアップグレードした後にアップグレードします。概要については、「手順8:データベースとサイトのアップグレード」を参照してください。
SQL Serverデータベースのスキーマを更新するために必要な権限については、「権限の確認」を参照してください。データベース権限に基づいてアップグレード方法を選択してください。
  • 自動アップグレード。 SQL Serverデータベーススキーマを更新する権限がある場合は、自動アップグレードを実行します。「データベースとサイトを自動的にアップグレードする」を参照してください。
  • 手動アップグレード。 これらの権限がない場合は、スクリプトを使用する手動アップグレードを実行します。必要な権限を持つデータベース管理者と協力してください。「データベースとサイトを手動でアップグレードする」を参照してください。
    手動アップグレードでは、タスクは2つの役割に分かれます。
    • サイトマネージャーユーザーはスクリプトを生成します。その後、ユーザーはサービスを有効化および無効化するスクリプトを実行します。
    • データベース管理者は、データベーススキーマを更新するスクリプトを実行します。管理者は、SQLCMDユーティリティまたはSQLCMDモードのSQL Server Management Studioを使用します。
注:
マルチゾーン展開では、サイトのSQL Serverデータベースをホストするのと同じゾーンで自動dbschemaアップグレードを実行してください。そうしないと、自動アップグレードが失敗する可能性があります。
アップグレードする前に、データベースをバックアップしてください。「CTX135207」を参照してください。データベースのアップグレード中は、製品サービスが無効になります。無効期間中、Controllerはサイトの新しい接続を仲介できないため、慎重に計画してください。

データベーススキーマのアップグレードを確認する

展開を更新すると、いくつかのデータベーススキーマがアップグレードされる可能性があります。次の表に、アップグレードされるスキーマを示します。
Dbschema の更新
この表では、次の用語を使用しています。
  • サイト: サイトデータストア。スキーマの更新はサイトデータストアに対して行われます。
  • Monitor: モニターデータストア。スキーマの更新はモニターデータストアに対して行われます。
  • Config: 構成テーブル。Studioバージョン、ライセンス情報、またはその両方が構成テーブルで更新されます。
  • Logging: ログデータストア。スキーマの更新はログデータストアに対して行われます。

データベースとサイトを自動的にアップグレードする

Site ManagerまたはPowerShell SDKコマンドレットを使用して、データベースとサイトを自動的にアップグレードできます。

Site Managerを使用して自動的にアップグレードする

  1. アップグレードされたDelivery ControllerでSite Managerを起動します。
  2. サイトのアップグレードを自動的に開始することを示し、準備ができたことを確認します。

PowerShellコマンドレットを使用して自動的にアップグレードする

Site Managerを使用する代わりに、PowerShell SDKコマンドレット Update-XDSite を使用して、データベースとサイトを自動的にアップグレードします。詳細については、Citrix Virtual Apps and Desktops SDK Guideを参照してください。
  1. 2番目のDelivery Controllerで、PowerShellセッションを開きます。
  2. Update-XDSite コマンドレットを実行します。
コマンドレットは、アップグレードが必要なすべてのコンポーネントを自動的に検出し、次のアクションを実行します。
  • データベース接続を切断し、必要なデータベーステーブルを更新し、サービスを再接続します。データベースが他のスクリプトまたはスタンドアロンツールによってすでにアップグレードされている場合、この手順はスキップされます。
  • 環境に必要な追加のアップグレード手順を実行します。すでに完了しているグローバルレベルのアップグレードはスキップされます。

データベースとサイトを手動でアップグレードする

  1. アップグレードされたDelivery ControllerでSite Managerを起動します。
  2. サイトを手動でアップグレードすることを示します。ウィザードはライセンスサーバーの互換性を確認し、確認を求めます。
  3. データベースをバックアップしたことを確認します。
    ウィザードはスクリプトとアップグレード手順のチェックリストを生成して表示します。アップグレード対象の製品バージョン以降、データベースのスキーマが変更されていない場合、そのスクリプトは生成されません。たとえば、ログデータベースのスキーマが変更されない場合、UpgradeLoggingDatabase.sqlスクリプトは生成されません。
  4. 次のスクリプトを記載されている順序で実行します。
    • DisableServices.ps1: Site Managerユーザーは、製品サービスを無効にするために、このPowerShellスクリプトをControllerで実行します。
    • UpgradeSiteDatabase.sql: データベース管理者は、Siteデータベースを含むサーバーでこのSQLスクリプトを実行します。
    • UpgradeMonitorDatabase.sql: データベース管理者は、Monitorデータベースを含むサーバーでこのSQLスクリプトを実行します。
    • UpgradeLoggingDatabase.sql: データベース管理者は、構成ログデータベースを含むサーバーでこのSQLスクリプトを実行します。このスクリプトは、このデータベースが変更された場合(たとえば、ホットフィックスを適用した後など)にのみ実行してください。
    • EnableServices.ps1: Site Managerユーザーは、製品サービスを有効にするために、このPowerShellスクリプトをControllerで実行します。
    データベースのアップグレードが完了し、製品サービスが有効になると、Site Managerは環境と構成を自動的にテストし、HTMLレポートを生成します。問題が特定された場合は、データベースのバックアップを復元できます。問題を解決した後、データベースを再度アップグレードできます。
  5. チェックリストのタスクを完了したら、Finish upgradeをクリックします。

SQL Server Express LocalDBを置き換える

Microsoft SQL Server Express LocalDBは、Local Host Cacheがスタンドアロンで使用するSQL Server Expressの機能です。Local Host Cacheは、SQL Server Express LocalDB以外のSQL Server Expressのコンポーネントを必要としません。
Delivery Controller を Citrix Virtual Apps and Desktops バージョン 2203 LTSR 以降のバージョンにアップグレードする場合、サポートされるバージョンは SQL Server Express LocalDB 2019 または SQL Server Express LocalDB 2022 です。
SQL Server Express LocalDB を更新する方法は 2 つあります。

自動更新

Delivery Controller をアップグレードすると、メタインストーラーは SQL Server Express LocalDB の最新の互換バージョンを自動的にインストールします。メタインストーラーは古い LocalDB バージョンをアンインストールしません。新しいバージョンが正しく動作することを確認した後、古いバージョンを手動でアンインストールする必要があります。

新しい SQL Server Express LocalDB のインストールを確認する

古いバージョンをアンインストールする前に、新しい SQL Server Express LocalDB のインストールが正しく動作していることを確認してください。
  1. コマンドプロンプトを使用して SqlLocalDB インスタンスに移動します。
    • SQL LocalDB 2014 の場合: cd C:\Program Files\Microsoft SQL Server\120\Tools\Binn
    • SQL LocalDB 2017 の場合: cd C:\Program Files\Microsoft SQL Server\140\Tools\Binn
    • SQL LocalDB 2019 の場合: cd C:\Program Files\Microsoft SQL Server\150\Tools\Binn
    • SQL LocalDB 2022 の場合: cd C:\Program Files\Microsoft SQL Server\160\Tools\Binn
  2. SqlLocalDB iを実行します。
    CitrixHA と MSSQLLocalDB の 2 つのファイルが表示されるはずです。

手動更新

前提条件

  • Citrix Virtual Apps and Desktops のインストールメディア。
  • Windows Sysinternals ツールボックスの PsExec ツール。

手順

  1. Citrix Virtual Apps and Desktops のコンポーネント、データベース、およびサイトのアップグレードを完了します。(これらのデータベースアップグレードは、サイト、監視、および構成ログデータベースに影響します。SQL Server Express LocalDB を使用するローカルホストキャッシュデータベースには影響しません。)
  2. SQL Server Express LocalDB を更新する Delivery Controller にログオンします。
  3. Microsoft から PsExec をダウンロードし、その Delivery Controller 上のアクセスしやすい場所 (例: C:\Temp) に配置します。
  4. Windows システムサービスから、Delivery Controller 上の Citrix High Availability Service を停止します。
  5. Delivery Controller でコマンドプロンプトを開き、PsExec がある場所 (例: C:\Temp) に移動して、次のコマンドを実行し、Network Service アカウントでコマンドプロンプトを昇格させます。
    psexec -i -u "NT AUTHORITY\NETWORKSERVICE" cmd
  6. whoami を実行して、コマンドプロンプトが Network Service アカウントとして実行されていることを確認します。次の出力が表示されるはずです: nt authority\networkservice。
  7. コマンドプロンプトを使用して SQL LocalDB インスタンスに移動します。
    • SQL LocalDB 2014 からアップグレードする場合:
      cd "C:\Program Files\Microsoft SQL Server\120\Tools\Binn"
    • SQL LocalDB 2017 からアップグレードする場合:
      cd "C:\Program Files\Microsoft SQL Server\140\Tools\Binn"
    • SQL LocalDB 2019 からアップグレードする場合:
      cd "C:\Program Files\Microsoft SQL Server\150\Tools\Binn"
  8. SQL LocalDB インスタンスを停止して削除します: CitrixHA。
    SqlLocalDB stop CitrixHA

    SqlLocalDB delete CitrixHA
  9. Delivery Controller から次のファイルを削除します。
    C:\Windows\ServiceProfiles\NetworkService\HADatabaseName.*
    C:\Windows\ServiceProfiles\NetworkService\HADatabaseName_log.*
    C:\Windows\ServiceProfiles\NetworkService\HAImportDatabaseName.* (if exists)
    C:\Windows\ServiceProfiles\NetworkService\HAImportDatabaseName_log.* (if exists)
  10. プログラムを削除するための Windows のネイティブ機能を使用して、Delivery Controller から既存の SQL LocalDB SQL Server Express をアンインストールします。
  11. アンインストールが完了したら、Delivery Controller を再起動します。
  12. Windows システムサービスから、Delivery Controller 上の Citrix High Availability Service を停止します。
  13. Citrix Virtual Apps and Desktops インストールメディアを Delivery Controller にマウントします。
  14. Delivery Controller に管理者として SQL Server Express LocalDB 2022 をインストールします。
    1. Citrix Virtual Apps and Desktops インストールメディアの Support > SQLLocalDB フォルダーにある sqllocaldb.msi ファイルを使用します。たとえば、インストールメディアが E drive ドライブにマウントされている場合、ファイルは E:\Support\SQLLocalDB\sqllocaldb.msi にあります。インストールを完了するには再起動が必要です。
    2. 新しい SQL LocalDB は C:\Program Files\Microsoft SQL Server\160\Tools\Binn にある必要があります。
  15. Windows システムサービスから、Delivery Controller 上の Citrix High Availability Service を開始します。
  16. Delivery Controller のコマンドプロンプトで、C:\Program Files\Microsoft SQL Server\160\Tools\Binn に移動し、SqlLocalDB i を実行して CitrixHA インスタンスが作成されたことを確認します。返されたインスタンスのリストに CitrixHA が含まれている必要があります。
    注:
    Citrix High Availability Service の開始後、CitrixHA データベースが作成されるまでに最大 15 分かかる場合があります。
  17. ローカルホストキャッシュデータベースファイルが作成されていることを確認し、必要に応じて高可用性サービス(セカンダリブローカー)が引き継ぐことができることを確認します。
    1. Delivery Controller で、C:\Windows\ServiceProfiles\NetworkService に移動します。
    2. HaDatabaseName.mdfとHaDatabaseName_log.ldfが作成されていることを確認します。
  18. 残りの Delivery Controller で手順を繰り返します。