0

我想知道在 SQL Azure上完成数据库副本需要多少时间。我正在考虑一个场景:

  1. 首先填充单个数据库,然后保持只读状态。
  2. 创建了一组副本。
  3. 一个令人尴尬的任务在每个副本上并行处理(只读)。
  4. 副本被删除以降低托管成本。

如果 SQL Azure 上的数据库副本相当快,那么这种情况是有意义的。

有没有人有一些关于完成 SQL Azure 数据库副本的延迟的信息,可能没有数据库的 GB 大小(假设较小的数据库比大数据库更快地复制)?

附属问题:如果同时触发10个DB副本,完成第10个副本会需要10倍的时间吗?或者 SQL Azure 是否支持这种操作的某种程度的并行化。

4

2 回答 2

0

对于复制各种大小的数据库需要多长时间,我没有经验数据,但根据我的经验,时间通常是几分钟。对于我经常使用的小于 100MB 的数据库,我允许 5 分钟,但这可能非常慷慨。我偶尔会复制更大的数据库,它似乎并没有比这大得多,我怀疑很多时间实际上都花在了配置新数据库而不是复制数据上。

我猜测如果您启动多个副本会发生什么,但是由于 SQL Azure 基础架构,如果同时启动多个副本会出现很大的减速,我会感到惊讶。

我不知道你希望整个过程需要多长时间,但我认为这基本上是一个好主意。不过,我强烈建议您进行一些自己的基准测试。

于 2012-08-09T05:19:59.423 回答
0

我发现它特别慢。我刚刚复制了一个 3.45MB 的小型数据库,耗时超过 5 分钟。6点42分开始,6点49分结束。

这只是使用 SQL 命令行 create with copy。例如:

CREATE DATABASE NewDB AS COPY OF OldDB;

我不确定交易是什么——每当我去检查进度时,它什么也没显示,然后突然就完成了。

例如:

SELECT * FROM sys.dm_database_copies c
JOIN sys.databases d ON c.database_id = d.database_id
WHERE databases.name = 'NewDB';

每次我查看的时候,percent_complete 列都是空的。其实我很担心我做错了什么...

于 2013-09-27T06:55:26.333 回答