50文字を超えるユーザー名を持つユーザーがアイテムをアーカイブできない


概要

50文字より長いユーザー名を持つユーザーが、以下の例外により、アイテムまたはアイテム バージョンを削除またはアーカイブできなくなる可能性があります。

Exception: System.Exception
Message: String or binary data would be truncated.
The statement has been terminated.
Source: Sitecore.Kernel
at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery()
at Sitecore.Data.DataProviders.Sql.SqlDataApi.<>c__DisplayClass33_0.b__0()
at Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func`1 action, Action recover)
at Sitecore.Data.Archiving.SqlArchive.GetArchival(Item item, ID& id)
at Sitecore.Data.Archiving.SqlArchive.<>c__DisplayClass6_0.b__0()
at Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func`1 action, Action recover)
at Sitecore.Data.Archiving.SqlArchive.ArchiveItem(Item item)

解決策

この事象に対処するには、以下の手順を実施してください。

  1. masterデータベースをバックアップします。
  2. 以下のSQLコマンドをmasterデータベースに対して実行し、ArchivedByフィールドのサイズを増加します。
    ALTER TABLE Archive ALTER COLUMN ArchivedBy nvarchar(256) NOT NULL;
    ALTER TABLE ArchivedVersions ALTER COLUMN ArchivedBy nvarchar(256) NULL;