3

刚刚 SQL Azure 出现了一个奇怪的问题,它发生在一个小阶段,就在完全上线之前,一些用户正在做一些数据输入。

“服务器‘xxx’上的数据库‘dbname’当前不可用。请稍后重试连接。如果问题仍然存在,请联系客户支持。”

当我尝试通过 SQL Azure 数据库网站连接时,我得到:“防火墙检查失败。资源 ID:1。请求最小保证为 0,最大限制为 180,数据库的当前使用量为 0。但是,服务器当前是太忙,无法支持此数据库的大于 0 的请求。”

查看 Azure 管理网站的数据库部分,该站点报告它无法访问数据库,但不幸的是我没有捕获确切的错误消息。

奇怪的是,我的几个用户仍然能够登录我们的系统网站来访问数据库,并查看和保存数据。然而,最终他们也失去了联系。

大约一个小时后,数据库恢复了生机,我们可以再次完全访问它们。

我已经使用来自这里的查询查看了服务器主数据库事件表,并且有几个连接失败,但没有什么有趣的。没有节流或死锁,有几个失败的连接说“客户端在建立连接时可能已超时。尝试增加连接超时。” 在描述中

还有什么想法可以看吗?

因此,商业用户的信心大幅下降。

4

1 回答 1

2

您的描述通常是因为:

1) 达到 SQL 连接限制。假设您不经常看到这种情况,您不太可能是原因。但值得检查的是,限制连接池会有所帮助。

2)你的邻居非常嘈杂,因此节点重新调整。

3) 硬件故障和 Microsoft 使您的数据库在另一个节点上重新联机。这可能需要一些时间。

通常情况下,当微软限制或出现问题并不得不恢复所有人时,我会看到这种情况。因为您在共享系统上,所以您必须记住,他们也在恢复该节点中的其他所有人,因此有时这需要时间。

如果您担心并需要为业务寻求解决方案,最好的选择是向 MS 开一张支持票,并给他们您看到的时间和错误消息。他们会进行调查,通常他们有非常好的后端遥测,这将指向一个原因。这将使您能够为企业提供解决方案,然后您可以就未来的计划和突发事件进行调用。您必须记住,尽管 SQL Azure 是共享系统并且可能会发生暂时性错误,但您可能需要在设计中设计更多故障转移。

于 2013-05-10T23:58:13.737 回答