「Security」データベースのデータ移動後にSitecoreにログインする際にエラーが発生する


説明

一部の外部ユーザー(例えば、AzureADなど)にてSitecore XPにログインする際に、「Security」データベースのデータ移動後に未処理の例外が発生して失敗する場合があります。「UserLogins」テーブルがないためにエラーが発生します。次のメッセージがログ ファイルに記録されることがあります。

Exception: System.Exception
Message: Invalid object name 'UserLogins'.
Source: Sitecore.Kernel
at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteReader()
at Sitecore.Data.DataProviders.Sql.DataProviderReader..ctor(DataProviderCommand command)
at Sitecore.Data.DataProviders.Sql.SqlDataApi.<>c__DisplayClass29_0.<CreateReader>b__0()
at Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func`1 action, Action recover)
at Sitecore.Data.DataProviders.Sql.SqlDataApi.CreateReader(String sql, Object[] parameters)

解決策

本事象を解決するには、次の回避策を検討してください。

  1. Microsoft SQL Server Management Studioを開きます。
  2. 現行の「Security」テーブルをホストしているサーバーに接続します。
  3. 「UserLogins」テーブルを右クリックします。
  4. Script Table as」、「CREATE To」、「New Query Editor Window」の順にクリックします。
  5. 「UserLogins」テーブルを追加するために、結果のスクリプトを新しい「Security」データベースに対して実行します。