2015-03-02 65 views
0

我有以下问题。我有一个总大小为3 GB的SQL Server数据库。此数据库的内容用于数据立方体中的分析。我想通过30 GB的数据库大小来测试此数据多维数据集的性能。做这个的最好方式是什么?重复数据库内容的多倍?在这种情况下,外键将是一个真正的问题,因为我想保持元组之间的关系。为负载测试复制SQL Server数据库的内容

在此先感谢。

+0

我曾试过,但放弃了。就像你说的,FKs是一个真正的痛苦。像SQL数据生成器可能会帮助你:http://www.red-gate.com/products/sql-development/sql-data-generator/ – 2015-03-02 19:15:03

+0

@ZoffDino感谢您的建议。我会试试看。 – valdes21 2015-03-03 13:53:04

回答

0

我发现了一个棘手的方法来做到这一点。这里是我的方法的草图:

  1. 关闭身份,其内容已被复制
  2. 关闭约束检查所有表
  3. 使数据库的副本,并与工作表中从现在的副本上
  4. 增加所有ID的相关表格由一个高值,例如通过10.000.000
  5. 合并操纵数据库副本与原始数据库
  6. 使合并DB的副本,并执行步骤4再次wi th增加另一个较小的值(例如增加5.000.000)并将其与原始DB再次合并
  7. 执行步骤3到5,直到达到所需数据库大小
  8. 完成之后,请不要忘记打开身份和约束检查所有受影响的表

使用所描述的方法,我能够从5提高电影的数量,我的DB 60中四次迭代,并成功地进行必要的负载测试。

请谨慎选择增量的值!首先,我使用10.000.000,超过5.000.000,超过2.000.000,最后使用1.000.000来避免ID交叉。