在 Azure 上扩展 sql 数据库。数据丢失可能吗?

Scaling sql database on azure. Is data loss possible?

我在 Azure 上有一个 sql 数据库,我的服务层是标准的,我已经将数据最大大小扩展到 500GB(标准层默认为 200GB)。现在我想将它扩展到 750GB。我阅读了文档,但我不确定。需要多长时间以及是否可能丢失任何数据?我是否也必须更改我的配置或所有连接字符串等保持不变?

数据丢失不是更改性能层或存储大小的副产品,不是。在大多数标准层中,您 运行 正在远程存储上(类似于 VM 中的 SQL 服务器 运行 在 blob 存储支持的磁盘上的方式)。因此,如果您所做的只是增加远程存储的最大大小,那么这在道德上等同于在本地进行相同的操作,而且是立竿见影的。如果您正在跨层(例如,从标准到高级)或在本地节点上没有可用的 space 来满足您的请求的高级层中,操作可能需要时间,因为需要新的 space已配置,您的数据库需要播种(复制)到新的 space 中。这是在后台完成的,与数据库的大小、性能层(因为 IOPS 基于此)和当前事务负载(因为这也必须复制到 N 个新节点)有关。当事情被复制和更新时,您当前的连接将从服务器关闭(这意味着那里的任何活动事务都已中止)并且您可以重新连接并在新播种的数据库副本上重试这些连接。这通常需要几分钟到几十分钟,但对于非常大的数据库,可能需要一个小时或更长时间。