在大型 Sitecore 数据库上运行 db cleanup(控制面板 > 数据库 > 清理数据库)时出现错误,该数据库较大主要是由于媒体库 blob 表造成的。运行约4分钟后出现该错误。
Job started: CleanUpDatabases|System.InvalidOperationException: This SqlTransaction has completed; it is no longer usable.
at System.Data.SqlClient.SqlTransaction.ZombieCheck()
at System.Data.SqlClient.SqlTransaction.Rollback()
at Sitecore.Data.DataProviders.Sql.DataProviderTransaction.Dispose()
at Sitecore.Data.DataProviders.Sql.SqlDataProvider.CleanupBlobs(CallContext context)
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: )
将 web.config 中的 DefaultSQLTimeout
增加到一个较大的值似乎不会产生任何影响。
最佳答案
尝试在 sitecore/settings 的 web.config 中添加 DataProviderTimeout 设置,这对我有用 - 我们的主数据库约为 50GB。运行 v6.4.1 Update-1
关于sql-server-2008 - Sitecore 数据库清理错误 - 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408625/