从可能失败的扩大规模中恢复

时间:2015-05-14 17:50:58

标签: azure azure-sql-database

为了熟悉新的Azure SQL层,我将一个7GB的生产数据库从一个Business克隆到了一个标准的S0层。这个操作没有问题,创建了一个~3.5GB的数据库(我猜它会跳过索引创建?)。然后我启动了SSDT,添加了一个新的发布脚本并发布了。这是一个错误,因为我的小S0 DTU利用率飙升至100%。我取消了SSDT发布。

虽然SSDT发布(缓慢)取消,但我将服务器从S0缩放 - > S2看看会发生什么。单击缩放按钮15分钟后,我的SSDT发布(仍在进行取消)被强行断开。在过去的45分钟内,数据库一直在报告正在进行的" Scale操作..."同时显示0个成功的连接,99.95%的DTU百分比,以及3.56GB的常量数据库大小。

我的问题是:

  1. 除了简单的" Scale操作进度消息之外,有没有办法看到比例操作的状态?"

  2. 有没有办法以破坏性或其他方式中止操作?

  3. 运行昂贵的操作(如创建5GB索引)时,最佳做法是扩展到企业级,运行操作,然后缩小到正常层?

  4. 缩放时,仪表板是否显示缩放过程使用的资源?这意味着如果我在启动扩展后看到99%的DTU利用率,我是否看到扩展操作或正常数据库活动正在使用资源?

2 个答案:

答案 0 :(得分:4)

Re#1:sys.dm_operation_status中有一个百分比进度列但是我不确定该值对于缩放操作的准确程度。您可以从master数据库中查询此视图。

<#> Re#2:没有。持续时间取决于数据库的大小。其他一些因素也可以发挥作用。如果您认为操作卡住,则应提交支持。

<#> Re#3:如果选择更高的性能水平,操作将在更短的时间内完成。此外,您还可以更好地处理额外的负载。

Re#4:缩放操作使用的资源不包括在您看到的利用率数据中,因为这是系统操作。

答案 1 :(得分:1)

向上/向下扩展是一项在线操作,您不应该看到更长时间的断开连接。如果您发现可以与Microsoft打开支持服务单。 我没有阅读任何关于取消缩放操作的内容。取决于资源使用情况,您可以向上/向下扩展以执行维护操作。 表分区可能是避免重建整个表的一种方法。 SQL V11不支持大于2GB的事务。您可能希望为此方案和许多其他功能升级到V12。 AFAIK它不应该显示缩放操作的资源使用情况。这很可能来自您的SSDT pubslish活动