Sitecore 8.1 重建链接数据库出现超时异常

Posted

技术标签:

【中文标题】Sitecore 8.1 重建链接数据库出现超时异常【英文标题】:Sitecore 8.1 Rebuild link database getting timeout exception 【发布时间】:2020-07-19 11:19:18 【问题描述】:

我正在尝试重建链接数据库,但它没有完成。我收到超时异常。 下面是我得到的异常:

Job started: RebuildLinkDatabasesIndex|System.Exception: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.Data.DataException: Error executing SQL command:  DELETE FROM [Links] 
                            WHERE [ID] = @id ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out
   --- End of inner exception stack trace ---
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery()
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery()
   at Sitecore.Data.DataProviders.Sql.SqlDataApi.<>c__DisplayClass15.<Execute>b__14()
   at Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func`1 action, Action recover)
   at Sitecore.Links.SqlLinkDatabase.Compact(Database database)
   at Sitecore.Links.LinkDatabase.Rebuild(Database database)
   at Sitecore.Shell.Applications.Dialogs.RebuildLinkDatabase.RebuildLinkDatabaseForm.Builder.Build()|Job ended: RebuildLinkDatabasesIndex (units processed: )

有解决此问题的建议吗?

【问题讨论】:

【参考方案1】:
    使用Retryer 重放操作 - 如果这是一个随机错误,重试器将提供帮助 Rebuild SQL Indexes 让他们表现良好 使用已优化重建操作的更高平台版本

【讨论】:

以上是关于Sitecore 8.1 重建链接数据库出现超时异常的主要内容,如果未能解决你的问题,请参考以下文章

Sitecore 8.1 rev 的 Sitecore 9.2 (002893) 等效 DLL。 151207

Sitecore 8.1 中的 Web API 属性路由不起作用

扩展Sitecore插入链接功能

从 Sitecore 8.0 升级后启动板设计未加载

openCV - 如何在 Windows 8.1 中从为 github 下载的用于 python 的 .zip 文件重建?

SQL Server Express 无法设置登录密码