【发布时间】:2016-12-19 04:09:25
【问题描述】:
将我的应用程序部署到 Azure 后,我遇到了一些 db 密集型报告的 sql 超时问题。
我尝试更改连接字符串中的 sql 超时,但没有任何效果。我还尝试将数据库从 S2 升级到 P1,然后它的性能足够好,不会超时。但不幸的是,这并不是真的我们的选择。
请问如何更改这些操作的超时值?
这是我收到的错误(以前在机架空间上没有发生过)
“/”应用程序中的服务器错误。
等待操作超时
描述:执行过程中发生了未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。
异常详细信息:System.ComponentModel.Win32Exception:等待 操作超时
来源错误:
在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈跟踪:
[Win32Exception (0x80004005): 等待操作超时]
[SqlException (0x80131904): 执行超时。超时 在操作完成之前经过的时间段或服务器处于 没有回应。]
System.Data.SqlClient.SqlConnection.OnError(SqlException 异常, 布尔型 breakConnection,动作 1 wrapCloseInAction) +2442634
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection,动作 1 wrapCloseInAction) +5766568
【问题讨论】:
-
您是否在本地和 Azure 上使用相同的连接?
-
据我了解,您的开发数据库不会出现超时。那么问题可能出在数据库(产品)方面。首先,您需要比较执行计划(prod 和 Dev)。他们很可能会有所不同。然后,检查 prod DB 是否有缺陷和统计数据。可能你错过了一些索引。
-
你检查过性能吗?也许您有使用过多资源的查询。我遇到了同样的问题,但转到“Query Performance Insight”可以帮助我找出它是哪个查询。
-
感谢您的 cmets.. 那么实际上没有办法增加数据库超时吗?目前它似乎在 ~ 45 秒后超时..
-
@user2118781 有办法增加,但正如我所说,我会更好地改进查询。我刚刚更新了我的答案
标签: c# azure azure-sql-database