2017-07-25 46 views
0

我們在嘗試對現有sitecore項目進行任何更改並將其發佈到Web數據庫時發生異常。當我們嘗試發佈時,Sitecore爲唯一索引拋出異常

以下是例外情況 - 消息:無法在具有唯一索引'ndxUnique'的對象'dbo.VersionedFields'中插入重複鍵行。重複鍵值是(48338b8b-7bfb-44e4-9715-3bafc826abfe,en,1,b05b85e8-20a6-4f1c-9a04-1645d9a262b4)。

該聲明已終止。 來源:Sitecore.Kernel at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery() at Sitecore.Data.DataProviders.Sql.SqlDataApi。 <> c__DisplayClass15.b__14() 在Sitecore.Data.DataProviders.NullRetryer.Execute [T](Func鍵1 action, Action recover) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.WriteVersionedField(ID itemId, FieldChange change, DateTime now, Boolean fieldsAreEmpty) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.UpdateItemFields(ID itemId, ItemChanges changes) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.<>c__DisplayClass1d.<SaveItem>b__1b() at Sitecore.Data.DataProviders.NullRetryer.ExecuteNoResult(Action action, Action recover) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.SaveItem(ItemDefinition itemDefinition, ItemChanges changes, CallContext context) at Sitecore.Data.DataProviders.DataProvider.SaveItem(ItemDefinition item, ItemChanges changes, CallContext context, DataProviderCollection providers) at Sitecore.Data.DataSource.SaveItem(ID itemID, ItemChanges changes) at Sitecore.Data.Engines.EngineCommand 2.Execute() 在Sitecore.Data.Engines.DataEngine.SaveItem(項項) 在Sitecore.Data。 Managers.ItemProvider.SaveItem(項項) 在Sitecore.Data.Items.ItemEditing.AcceptChanges(布爾updateStatistics,布爾沉默) 在Sitecore.Data.Items.EditContext.Dispose() 在Sitecore.Publishing.PublishHelper.CopyToTarget(項sourceVersion) 在Sitecore.Publishing.PublishHelper.PublishVersionToTarget(項目sourceVersion,項targetItem,布爾targetCreated) 在Sitecore.Publishing.Pipelines.PublishItem.PerformAction.ExecuteAction(PublishItemContext上下文) 在Sitecore.Publis hing.Pipelines.PublishItem.PerformAction.Process(PublishItemContext上下文) 在(對象,對象[]) 在Sitecore.Pipelines.CorePipeline.Run(PipelineArgs參數) 在Sitecore.Publishing.Pipelines.PublishItem.PublishItemPipeline.Run(PublishItemContext上下文) 在Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable的1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable 1條目,PublishContext上下文) 在Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable的1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable 1條目,PublishContext上下文) 在Sitecore的。 Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable`1 entries,PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.Process(PublishContext context)

做任何人有任何想法嗎?

+0

不知道,我的建議是最好的一個,但嘗試從「dbo.VersionedFields」表中的Web數據庫中刪除相應的行。 –

+0

是的。這是一個解決這個問題的黑客,但我不想直接從Web數據庫中刪除東西,因爲它可能會導致新問題。 –

回答

0

終於得到了Sitecore支持的解決方案。版本字段基本上也應該存在於索引列中。我們還沒有爲此做過任何手動更改,但發生了某種程度的變化。

Solution provided by Sitecore support

相關問題