Azure SqlException:服务器上的数据库当前不可用

von*_* v. 5 asp.net azure dapper azure-sql-database

我们的网站已在Azure中运行了几周而没有收到此错误:

SqlException:服务器"服务器"上的数据库"数据库"当前不可用.请稍后重试连接.如果问题仍然存在,请联系客户支持,并向他们提供会话跟踪ID"guid".

有一天,当有超过2K的活跃(并发)用户时,它终于得到了.这是我在SO中可以找到的最接近的问题.我们不使用EF,而是使用Dapper.我没有想法如何调试我们的应用程序以找出导致问题的原因,而且现在更难以解决过去两天没有出现的问题.我当然需要留意,我需要你们,任何提示,我应该在哪里研究,我需要做些什么来确定问题的原因,并可能解决它.

Elv*_*ves 4

听起来您需要通过某种瞬态故障处理机制来处理瞬态故障。这是询问类似问题的帖子: SQL Azure 数据库重试逻辑 David 的答案与我们处理该问题所采取的方法类似。

这是另一个与 David 的代码和我们的解决方案类似的代码链接,可以帮助您理解它。http://www.getcodesamples.com/src/4A7E4E66/41D6FAD

当我们第一次迁移到 SQL Azure 时,我们遇到了类似的问题,但通过对瞬时连接问题实施后退重试逻辑,大多数情况下它会在几秒钟后恢复。