Microsoft Azure SQLデータベースでのSitecore Commerceバージョン8.2.1の実行について


説明

この記事は、Sitecore Commerceバージョン8.2.1をMicrosoft Azure SQLデータベースで実行する際の既知の問題、回避策および制限について説明します。

備考:Sitecoreは現在、Azure SQLおよびSitecore Commerceバージョン8.2.1の互換性に対して実験的なサポートを提供しています。Sitecore Commerceバージョン8.2.1は、Azure SQLを使用しての広範囲にわたる正式なテストが実施されておらず、他の潜在的な問題が発生する可能性があります。関連する問題が発生した場合、Sitecoreサポートはトラブルシューティングをご提供しますが、修正プログラムのご提供は保証されませんので、ご了承ください。

デプロイに関する問題

Sitecore Commerceのデプロイを実施した際に使用する一部のPower Shell cmdlets(Initialize-CSSite)およびSQLスクリプト(Commerce.Storefront.ProfileDatabase.dacpac, CommerceServicesDbScript.sql [1])は、Windowsユーザーへの参照またはクロス データベース クエリのため、 AzureSQLでは機能しない場合があります。

解決策:この問題を解決するには、デプロイの際にオンプレミスSQLサーバーを中間ストレージとして使用し、Sitecore Commerceバージョン8.2.1デプロイ ガイドに説明されている手順に従って実施してください。

デプロイが完了し、オンプレミスSQLインスタンスで機能を検証した後、Database Migration Toolを使用し、ローカル データベースをMicrosoft Azure SQLに移行することができます。以下の手順は、SQL Server Management Studio (SMSS)バージョン17.2(最小限のバージョン)に基づいています。

ローカル データベースをMicrosoft Azure SQLに移行するには:

  1. SSMSを起動します。通常のSitecore Commerceバージョン8.2.1のデプロイでは、以下のデータベースがインストールされており、Azure SQLに移行する必要があります:
    • MSCS_Admin
    • YourCommerceServerSiteName_productcatalog
    • YourCommerceServerSiteName_profiles
    • SitecoreCommerce_Global (※:このデータベースは、この後の手順で説明されるブートストラップ処理の後に削除する必要があります)
    • SitecoreCommerce_SharedEnvironments
    • YourSitecoreSiteNameSitecore_Core
    • YourSitecoreSiteNameSitecore_Master
    • YourSitecoreSiteNameSitecore_Web
    • YourSitecoreSiteNameSitecore_Analytics
    • YourSitecoreSiteNameSitecore_Sessions
  2. 各データベースにおいて、Windowsユーザーを削除するか、またはSecurity -> Users下のSQLユーザーと交換します。 
  3. 各データベースにおいて、データベースのノードに右クリックし、コンテキストのメニューからTasks -> Deploy Database to Microsoft Azure SQL Databaseをクリックします。
  4. Azure SQLデータベースのサーバの接続情報を提供します。同じデータベース名称を使用する必要があります。
  5. 画面に表示される手順に従って、最後の手順まで実施します。

全てのデータベースがAzure SQLにデプロイされた後、接続文字列の参照を変更する必要があります。

Commerce Serverの場合:

備考:Azureポータルから直節に接続文字列をコピーする場合、「tcp:」プレフィックスを削除する必要があります。削除しないと、Commerce Server Managerで例外がスローされる可能性があります。

Commerce Engineの場合(例:CommerceAuthoring):

  1. インストールした製品のバージョンに該当する環境のjsonファイルを検索し、(デフォルトのデプロイでは、C:\inetpub\CommerceAuthoring\wwwrootフォルダ配下にあります) 以下の変更を提供します:
    • bootstrap\Global.jsonファイルにおいて、Sitecore.Commerce.Plugin.Customers.Cs.ProfilesSqlPolicyおよびSitecore.Commerce.Plugin.Customers.Csタイプの接続情報をSitecoreCommerce_Globalに変更します。
    • data\Environments\PlugIn.Habitat.CommerceAuthoring-1.0.0.jsonファイルにおいて、Sitecore.Commerce.Plugin.SQL.EntityStoreSqlPolicyおよびSitecore.Commerce.Plugin.SQLタイプの接続情報をSitecoreCommerce_SharedEnvironmentsに変更します。
    • Sitecore.Commerce.Plugin.Customers.Cs.ProfilesSqlPolicyおよびSitecore.Commerce.Plugin.Customers.Csタイプの接続情報をYourCommerceServerSiteName _profilesに変更します。
    • Sitecore.Commerce.Plugin.Inventory.Cs.InventoryCatalogSqlPolicyおよびSitecore.Commerce.Plugin.Inventory.Csタイプの接続情報をYourCommerceServerSiteName _productcatalogに変更します。

    変更後のAzure SQLへの接続情報は、以下の通りになります:

    "Server": "URLtoAzureSQLInstance",
    "Database": "CFSolutionStorefrontSite_profiles", (keep the same database names)
    "TrustedConnection": false,
    "UserName": "AzureUser",
    "Password": "AzurePassword"
  2. Commerce Engineのアプリケーション プールを再起動して、古い接続文字列のキャッシュを更新します。
  3. Bootstrapを実行して、SitecoreCommerce_Globalデータベースの接続文字列情報を更新します(例:http://localhost:5000/commerceops/Bootstrap())。
  4. 上述の手順に従って、SitecoreCommerce_GlobalデータベースをAzure SQLに移行します。

Sitecore XPの場合:

その他の考慮事項

備考