Sql server 用于捕获用于开发的数据子集的脚本或实用程序
我们正在从另一个已经关闭的办公室进行一个项目。生产数据库大约为150GB,我们正在避免将其复制到4台开发人员机器上。对于我们如何获取这些数据的一小部分(比如5%)以在开发中使用,同时保持关系、键表等的完整性,是否有脚本、实用程序或建议 我想我最后一部分的意思是,如果我有一个500行的订单表,并随机抽取25行,我需要确保我从产品表中抽取的5%的产品包括满足这些订单所需的任何产品削减。。。。。如有必要,超过5%Sql server 用于捕获用于开发的数据子集的脚本或实用程序,sql-server,Sql Server,我们正在从另一个已经关闭的办公室进行一个项目。生产数据库大约为150GB,我们正在避免将其复制到4台开发人员机器上。对于我们如何获取这些数据的一小部分(比如5%)以在开发中使用,同时保持关系、键表等的完整性,是否有脚本、实用程序或建议 我想我最后一部分的意思是,如果我有一个500行的订单表,并随机抽取25行,我需要确保我从产品表中抽取的5%的产品包括满足这些订单所需的任何产品削减。。。。。如有必要,超过5% 我希望我解释得足够好。有人有什么想法吗?冒着听起来像是第三方产品皮条客的风险,你有没有想
我希望我解释得足够好。有人有什么想法吗?冒着听起来像是第三方产品皮条客的风险,你有没有想过使用像Hyperbac这样的产品?它允许您将数据库恢复到您的开发人员机器上,但要以压缩但性能良好的方式 可能最相关的是Hyperbac Online:
我想第一步是找出表之间的依赖关系/关系,以及如何在给定表中找到给定行的所有依赖关系 完成后,您可以对其中一个高级表(例如“Customers”)进行随机抽样,然后递归地从依赖表中获取任何依赖行 对您选择的第一个表中未出现在“dependency heirachy”中的任何表进行清洗并重复,直到您从所有表中进行采样 当然不会有一个通用的脚本来实现这一点,但我要说,以这种方式绘制数据库中的依赖关系所花费的时间是理解数据库结构所花费的时间
Tbh我可能会做相反的事情——清空数据库,并在必要时将记录添加到相关表中。开发人员实际上不需要总是针对具有代表性的数据采样运行,实际上,您应该确保随时定期针对完整的数据采样进行测试,以防留下的95%的数据库包含导致问题的行。谢谢您的建议。不要担心给产品拉皮条,我早就料到会得到关于工具的建议,这非常好。:)多亏了克拉根,我原以为事情会演变成这样,我本来想避免的。但是,正如您所提到的,我将通过这样做来深入了解数据库的工作原理,这无疑是一个好处。我们可能会走这条路。