首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提取SQL Server数据库的2%数据

提取SQL Server数据库的2%数据
EN

Stack Overflow用户
提问于 2010-08-13 15:13:55
回答 2查看 42关注 0票数 0

我们的生产数据库大小是25 my (大约),有700个表,我只想为本地数据库中的每个表导入大约2%的数据,用于开发/测试目的……(应该以保留外键约束的方式导入数据)?

欢迎您的意见/建议!

EN

回答 2

Stack Overflow用户

发布于 2010-08-13 15:18:42

你将找不到完全自动化的方法来做这件事。您需要了解数据库的结构和业务规则,以便确定如何减少数据。

我建议您遍历最高级别的表,这些表有很好的数据分布,从中挑选一些并从那里开始工作。

以便实际执行数据导入/导出。实际上,我会考虑备份和复制数据库,然后运行一堆delete语句,直到它达到您所需的大小。然后重新组织、收缩并再次备份以在本地恢复。

票数 1
EN

Stack Overflow用户

发布于 2010-08-13 15:30:19

按照Robin的说法,删除要比编写选择性插入脚本容易得多

如果您有预留实例,但没有级联删除,则可以轻松地向后使用嵌套条件

从这里开始...

1

代码语言:javascript
复制
delete from table1 where table1PK IN
(somecriteria for table1 deletion)

2

代码语言:javascript
复制
delete from table2 where table2PK in
(select table2PK from table2 where
table1PK in (somecriteria for table1 deletion) -- same as above
) 

--等等...继续在树上嵌套

但是当你开始运行删除的时候,显然你需要颠倒删除的顺序

不..2 ..1

对于700个表来说,这可能仍然是大量的工作,但通常大多数数据都在几个表中-您只需要关注较大的表?

HTH

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3474676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档