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

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

我的问题是:

  • 除了简单的“Scale operation in progress 消息”之外,还有什么方法可以查看缩放操作的状态?
  • 有没有办法以破坏性或其他方式中止操作?
  • 在运行昂贵的操作(例如创建 5GB 的索引)时,最佳做法是扩展到企业层,运行操作,然后缩减到正常层?
  • 扩展时,仪表板是否显示扩展过程使用的资源?这意味着如果我在启动扩展后看到 99% 的 DTU 利用率,我是否看到扩展操作正在使用资源,或仅看到正常的数据库事件?
  • 最佳答案

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

    回复 #2:没有。持续时间取决于数据库的大小。其他一些因素也可以发挥作用。如果您有操作卡住的印象,您应该提交支持。

    回复 #3:如果您选择更高的性能级别,操作将在更短的时间内完成。此外,您的数据库将能够更好地处理额外的负载。

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

    关于azure - 从可能失败的放大中恢复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30244025/

    10-16 08:44