错误:SQL超时

  • 平台
  • Evoq内容
  • Evoq参与

症状

错误:

日志查看器目前不可用。DotNetNuke.Services.Exceptions。ModuleLoadException:超时过期。超时期间运行之前完成操作或服务器没有响应。推荐- - - - - - > System.Data.SqlClient。SqlException异常:超时过期。超时期间运行之前完成操作或服务器没有响应。推荐- - - - - - > System.ComponentModel。Win32Exception:等待操作超时结束- - - - - -内部异常堆栈跟踪——在System.Data.SqlClient.SqlInternalConnection。OnError (SqlException异常,布尔breakConnection行动”1 wrapCloseInAction)

可能的原因

一些SQL表已经变得太大,特别是事件日志,SiteLog,ScheduleHistory

解决方案

  1. 角色栏>设置>SQL控制台
  2. 检查的大小事件日志,SiteLog,ScheduleHistory
    1. 运行以下SQL脚本:
      选择t。名称,p。行rowcount,总和(a.total_pages) * 8 TotalSpaceKB,总和(a.used_pages) * 8 UsedSpaceKB,(和(a.total_pages)和(a.used_pages)) * 8 UnusedSpaceKB从系统。表内连接系统。我在t索引。OBJECT_ID =我。object_id内连接系统。在我分区p。object_id = p。OBJECT_ID和我。index_id = p。index_id内连接系统。allocation_units在p。partition_id =。container_id离开加入系统。模式s在t。schema_id =。schema_id t。名字不像“dt %”和t。is_ms_shipped = 0和我。OBJECT_ID > 255年t.name (“ScheduleHistory”、“事件日志”,“SiteLog”) GROUP BY t。名称,年代。名字,p。Rows ORDER BY TotalSpaceKB DESC
    2. 在结果中,注意rowcount事件日志,SiteLog,ScheduleHistory
  3. 清晰的事件日志
    1. 运行以下SQL脚本:
      从事件日志删除前(1000);
      注意:清除事件日志、替换1000年rowcount价值。减少的大小事件日志(而不是结算),替换1000年你想要删除的行数。
  4. 删除SiteLogScheduleHistory表。
    1. 运行以下SQL脚本:
      截断表SiteLog;截断表ScheduleHistory;
  5. 重新启动应用程序允许更改生效。
  6. 测试,尝试访问管理日志