使用sql server 2000,我想把我的生产数据放到我的测试数据库中,但是我不想覆盖测试数据库的模式,因为其中有我没有添加的字段到生产了。可以这样做吗?我应该补充一点,这些数据库位于不同的服务器上。
答案 0 :(得分:1)
使用类似OmBelt的exportSQLServer到SQL工具。 (ombelt.com)
它所做的插入指定字段,所以你应该没问题。如果没有,请对它们进行批量编辑。
我发现它大大简化了SQLServer,使其像其他数据库一样拥有SQL转储。
答案 1 :(得分:0)
如果使用工具生成明确命名列的脚本(例如SSIS),只要生产数据库中没有dev中不存在的列,它就应该有效。
答案 2 :(得分:0)
使用INSERT INTO SELECT语句从prod表批量处理到测试环境,避免测试字段与prod不匹配。
答案 3 :(得分:0)
我认为Import/Export Wizard存在于SQL Server 2000中。向导通常很烦人,但它只需要几分钟就可以安装它。
该向导可用于创建DTS package,它可以将生产数据库中的所有数据附加到已存在的另一个数据库中的表的末尾。如果你有任何非空的新列并且没有默认值,我不确定它将如何处理。
您需要提供生产数据库作为源和开发数据库作为目标,然后确保检查新数据行的“附加”选项。
编辑:我应该注意,这确实可以跨服务器运行,但我只是尝试从一个SQL Server实例到另一个。从理论上讲,只要目标服务器支持ODBC,它就可以工作,但我无法保证这一点。
答案 4 :(得分:0)
我使用Red-Gate软件的SQL数据比较。它将在两个数据库中执行数据差异,并生成适当的事务更新脚本。它将排除两个表中不存在的任何列,因此即使您在测试数据库中添加或删除了列,也应该没问题。