繁体   English   中英

SQL Azure:超时已过期

[英]SQL Azure: Timeout expired

我们在Windows Azure中托管了一些云服务,还有一些Azure SQL数据库。 在晚上(4:00 - 6:00 utc),运行一些作业将数据导入数据库。 几周以来,所有作业都因数据库超时过期而失败。 如果我在模拟器中的本地计算机上稍后(在7:00 - 9:00 utc)运行作业,则所有作业在同一数据库上运行时没有任何问题。

在mport时间,数据库服务器上的站点没有太多流量。 管理门户的监视显示没有很多打开的连接,没有受限制的连接,也没有连接错误。 在我的本地运行期间有更多的流量。

sys.event_log不包含任何错误或其他可能的问题。

是否有任何日志或其他选项可以获得有关乔布斯在晚上失败的原因的更多信息?

更新似乎SQL Azure Server忽略命令超时属性。 作业从4:30 UTC开始,并在4:37以超时异常停止。 但是获得超时的查询的命令超时为1200(20分钟)。 在启动命令之前,有一些来自ftp-server,文件解析和其他SQL查询的下载。

请注意,SQL Azure不是MS SQL的完整版本,并且确实存在一些限制。 最值得注意的限制是其构建的基础设施。 您的SQL Azure数据库将托管在与数百名其他用户共享资源的小型实例服务器上。 虽然机器上有合理的使用政策,但服务器确实需要时间。

我的建议是通过某种方式确定Job是否实际启动,或者连接池是否在启动作业之前超时。 IE创建一个插入的作业表,表示它已启动,并将其作为您工作的第一个操作。

或者,您可以考虑迁移到Azure中的VM设置。 这是您有一个小型或中型实例VM,其上运行完整版本的MS SQL Server。 这样,您可以正确地对服务器运行作业,并更适当地控制连接池。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM