我们遇到了核心数据库的问题,这个数据库已经被前一天的备份数据库恢复了。
之后网站工作正常,但我们在发布任何更改时遇到问题。一旦按下发布按钮"发布初始化..."消息只是持续延长时间。注意事项在事件日志中捕获,并且发布开始/结束"两者都不是。
因此,当我们尝试使用数据库清理工具清理主数据库/ Web数据库时,会弹出SQL错误。
有没有人能解决这个问题?
这是我得到的错误" web"数据库清理。
Job started: CleanUpDatabases|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: declare @x bigint set @x = 0 DECLARE @item TABLE(ID uniqueidentifier,parentID uniqueidentifier) INSERT INTO @item (ID,parentID) SELECT [ID],[ParentID] FROM [Items] DECLARE @temp TABLE(ID uniqueidentifier) WHILE (SELECT count(id) FROM @item ) <> @x begin set @x = (SELECT count(id) FROM @item ) delete from @temp; insert into @temp (ID) SELECT id FROM @item where parentID = @nullId update @item SET Parentid =@nullId where Parentid in (select id from @temp) delete from @item where id in (select id from @temp) end UPDATE [Items] SET [Parentid] = @nullId where [ID] in (select id from @item) ; DELETE from [Items] where [ID] in (select id from @item) ---> 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)
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.Data.DataProviders.Sql.SqlDataProvider.CleanupDatabase(CallContext context)
at Sitecore.Data.DataProviders.DataProvider.CleanupDatabase(CallContext context, DataProviderCollection providers)
at Sitecore.Shell.Applications.Databases.CleanUp.CleanUpForm.Cleaner.CleanUp()|Job ended: CleanUpDatabases (units processed: )
答案 0 :(得分:4)
此处提供了解释:
https://sitecorebasics.wordpress.com/2011/04/12/timeout-error-when-running-cleanupdatabases-job/
您需要增加Sitecore配置中的DefaultSQLTimeout
设置。
尝试将其设置为30分钟。
<setting name=”DataProviderTimeout” value=”00:30:00″ />
此处也回答:
https://sitecorebasics.wordpress.com/2011/04/12/timeout-error-when-running-cleanupdatabases-job/
答案 1 :(得分:0)