2012-07-11 19 views
0

我们经常需要从我们的生产的SQL Server 2008(非R2企业版)的一些测试数据我们发展的SQL Server 2008 R2。显然,当我们做这个数据提取时,我们希望对生产框有最小的性能影响。如何从生产到开发获得测试数据,而对产品的性能影响最小?

这是最好的方法是什么?

1) bcp out , bcp in 
2) ssis package etl 
3) linked server insert into dev.table select from prod.table 
4) C# app 

有可能还有其他的方法,但我只用了4以上。请指教。谢谢

回答

0

如果你有兴趣只是把备份,而无需修改任何数据,那么BCP是去。它的速度非常快选项的方式,要求文本文件的最小解析input.You可以自己建立在你编写一个批处理文件您BCP OUTIN命令并在需要复制数据时执行。

有关不同的负载策略的更多信息,请参阅this文章

+0

thx为链接。大文章。我直接滚动到结论,看起来ssis是要走的路。 – Gullu 2012-07-11 15:25:00

+0

SSIS一定会帮助ü以更快的速度传输数据,因为那里是由BCP命令使用,但BCP是在场景中真正有用的,你并不需要在查询的任何数据操作,更可以很容易地没有中间的文本文件写出来 – praveen 2012-07-11 15:30:10

1

如果你的SQL服务器夜间备份,你可以备份到开发服务器复制与备份恢复开发。这会至少影响生产SQL服务器。

+0

整个bakup太大。我们只需要从特定表格中分离出一些数据。 THX – Gullu 2012-07-11 15:11:57

+0

那么你需要将备份还原到一个临时位置,然后执行你后的数据的提取物。 – joocer 2012-07-11 15:14:13

+0

我的问题是最好的办法。 (不是最好的时间 - 像夜间备份)。这又不是与备份有关。它用于获取开发人员的测试数据。很多时候,取决于开发人员正在开发哪个模块,我们需要为特定表格分割数据。不需要整个分贝。 – Gullu 2012-07-11 15:24:05

相关问题