将数据从生产复制到测试服务器而不删除架构

时间:2020-03-06 14:24:28  来源:igfitidea点击:

使用sql server 2000,我想获取生产数据并将其放入测试数据库中,但是我不想覆盖测试数据库的架构,因为其中的一些字段尚未添加到生产中。能做到吗?我应该补充一点,这些数据库位于不同的服务器上。

解决方案

如果使用工具生成显式命名列的脚本(例如SSIS),则只要生产数据库中没有dev中不存在的列,它就可以工作。

使用OmBelt的exportSQLServer to SQL工具之类的工具。
(ombelt.com)

它使指定字段的插入,所以你应该没事。如果没有,请大量编辑它们。

我发现它极大地简化了SQLServer使其具有与其他数据库一样的SQL转储。

使用INSERT INTO SELECT语句可将prod表从prod表批量存储到测试环境中,从而避免了prod中不匹配的测试字段。

我认为导入/导出向导存在于SQL Server 2000中。向导通常很烦人,但是只需要几分钟,我们可能已经安装了它。

该向导可用于创建DTS包,该包可将生产数据库中的所有数据添加到另一个现有数据库中表的末尾。如果我们有任何不为null且没有默认值的新列,我不确定会如何处理。

我们需要将生产数据库作为源,将开发数据库作为目标,然后确保选中"追加"选项中的新数据行。

编辑:我应该注意,这确实可以跨服务器工作,但是我只尝试了从一个SQL Server实例到另一个实例。从理论上讲,只要目标服务器支持ODBC,它就可以工作,但是我不能保证这一点。

我使用Red-Gate软件的SQL数据比较。它将对两个数据库中的数据进行比较,并生成适当的事务更新脚本。它将排除两个表中都不存在的任何列,因此即使我们已经在测试数据库中添加或者删除了列,也应该没问题。