【问题标题】:Large post and insert/update SQL Server timeout大型帖子和插入/更新 SQL Server 超时
【发布时间】:2011-07-29 09:18:03
【问题描述】:

我目前正在构建的 Web 应用程序存在问题,该应用程序允许用户将相当大的文本块发布到应用程序的表格中。

使用 ELMAH,对于我现在遇到问题的特定内容,CONTENT_LENGTH 是 595759,但是,插入成功并标记了他们在申请中发布的内容以供批准。

如果有帮助,这一切都使用 LINQ 完成。

当用户单击我的应用程序中的批准按钮(这只是允许他们编辑以前发布的数据并将其标记为已批准)时,我收到以下错误:

System.Exception:发布页面时发生错误:超时已过期。 在操作完成之前经过的超时时间或 服务器没有响应。声明已终止。

我有点不知所措,为什么这在插入时有效,但在更新时无效。任何人都可以尝试对此有所了解吗?

提前感谢任何帮助。

【问题讨论】:

  • 发布 500kb 不应超​​时。它可以重现吗?查看是否可以使用 SQL Profiler 捕获超时。

标签: sql-server sql-server-2008 insert


【解决方案1】:

如果您想验证这是数据库超时,并且您可以访问数据库,您可以查看Activity Monitorselect * from sys.dm_os_waiting_tasks 并查看是否有任何阻塞发生。如果锁有阻塞,你可以在Activity Monitor或者exec sp_lock或者select * from sys.dm_tran_locks.中查看锁

【讨论】:

    【解决方案2】:

    我猜你的应用程序是用 asp.net 写的?如果是这可能是 asp.net 超时异常而不是 sql server 超时。

    查看此链接http://weblogs.asp.net/aghausman/archive/2009/02/20/prevent-request-timeout-in-asp-net.aspx

    还可以尝试增加 sql 命令对象的命令超时属性(如果你正在使用它)

    在此处查看详细信息:

    http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtimeout.aspx

    【讨论】:

      猜你喜欢
      • 2011-05-15
      • 2016-03-14
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多