4

我们有一些托管在 Windows Azure 中的云服务以及一些 Azure SQL 数据库。晚上(世界标准时间 4:00 - 6:00 期间)运行一些作业以将数据导入数据库。由于几个星期以来,所有作业都因数据库超时过期异常而失败。如果我稍后(在 7:00 - 9:00 UTC 期间)在模拟器中的本地计算机上运行作业,则所有作业都可以在同一数据库上正常工作。

在 mport 时间,我们的站点在数据库服务器上没有太多流量。管理门户的监控显示打开的连接不多,没有受限制的连接,也没有连接错误。在我的本地跑步期间,流量要多得多。

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

是否有任何日志或其他选项来获取有关作业在夜间失败的原因的更多信息?

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

4

1 回答 1

0

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

我的建议是有一些方法来确定作业是否真正开始,或者连接池是否在开始作业之前超时。IE 创建一个工作表,插入其中表示它已启动,并将其作为您工作的第一个操作。

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

于 2014-06-05T16:01:13.507 回答