2013-03-30 69 views
3

刚刚与SQL Azure的一个奇怪的问题,它只是有一些用户做一些数据条目全去住之前发生在一个小的阶段。 “无法访问SQL Azure的

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

当我试图通过SQL Azure数据库的网站连接我: “防火墙检查失败 资源ID:1.要求最低保证金为0, 上限是180和数据库的当前使用情况是0 但是,服务器当前太忙,无法支持该数据库的请求大于0。“

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

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

一个小时左右后,数据库又活过来了,我们可以再次完全访问它们。

我使用here的查询查看了服务器主数据库事件表,发现有几个连接失败,但没有什么意思。没有节流或死锁,有几个失败的连接表示“客户端建立连接时可能超时,请尝试增加连接超时。”在描述

任何想法还有什么地方看?

企业用户有过因为这个信心大幅度下降。

+0

我遇到同样的问题,它会自动修复而不做任何事情。 – Freshblood

回答

2

你的描述正常发生是因为:

1)SQL连接限制被击中。假设你没有经常看到这种情况,那么你不可能是原因。但值得检查的是对连接池进行限制可以提供帮助。

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

3)硬件故障和微软在不同的节点把你的数据库重新联机。这可能需要一些时间。

正常情况下,当微软已经遏制或者出现了一个盒子问题,并且不得不将所有人都恢复过来时,我已经看到了这一点。因为你在一个共享系统上,所以你必须记住它们也在恢复那个节点上的其他人,因此有时这需要时间。

如果你担心,需要得到企业的分辨率最好的办法就是打开一个支持票与MS,并给他们你看到这封信的时候和错误消息。他们会进行调查,通常他们有非常好的后端遥测,这将指出一个原因。这将允许您给企业一个解决方案,然后您可以打电话给未来的计划和意外事件。您必须记住,虽然SQL Azure是共享系统,并且可能会发生瞬时错误,但您可能需要在设计中设计更多故障转移。