sql – 将数据库缩小到大小

前端之家收集整理的这篇文章主要介绍了sql – 将数据库缩小到大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设您有一个为公司服务了10年的数据库.它的大小为500GB,它有无数的表,存储过程和触发器.

现在假设您希望创建一个数据库的简化版本,以用作集成测试中使用的测试平台,以及个别测试人员和开发人员可以启动的实例.

从广义上讲,您将如何设定此任务?

如果它很重要,我想到的数据库sql Server 2008.

编辑:删除“单元测试”,因为单元测试当然不应该测试数据库集成

解决方法

如果您的表都包含不相关的数据,您可以从每个表中选择X随机记录.我猜测问题是表格不是无关的,所以如果表A包含对表B的外键引用,你只需从表A中提取10%的记录,从表中提取10%的记录B,你有一大堆从A到B的无效引用.

我不知道这个问题的一般解决方案.这取决于数据库的确切结构.我经常发现我的数据库由少量“中央”表组成,这些表有很多来自其他表的引用.也就是说,我通常会发现我有一个Order表,然后是一个指向Order的Order Line表,Order指向的Customer表,以及指向Order或Order Line的Delivery表,等等,但一切似乎都以“秩序”为中心.在这种情况下,您可以随机选择一些订单记录,然后查找这些订单的所有客户,这些订单的所有订单行等.我通常也有一些“代码查找”表,如列表所有“订单状态”代码,所有“客户类型”代码的另一个列表等.这些通常很小,所以我只是完全复制它们.

如果你的数据库更加……脱节……那么,如果它没有任何明确的中心,但却是一个相互关系的迷宫,这可能会复杂得多.不过,我认为同样的原则也适用.选择一些起点,从那里选择一些记录,然后获取与这些记录相关的所有记录等.

猜你在找的MsSQL相关文章