恢复sql server数据库而不删除现有的数据库表

时间:2016-02-04 04:25:16

标签: sql-server database

我想将生产服务器数据库复制到开发服务器,我正在使用备份和恢复将生产服务器数据库带到开发服务器。

我已成功恢复并在已恢复的数据库中添加了表格和SP。 第二天,我必须恢复相同的数据库,恢复现有的表后,SP将被删除。

我不能在生产服务器DB上使用SP和额外的表。所以我想用实时数据将它复制到开发服务器上,在开发服务器上我可以做任何事情,而不会影响到生产服务器db。

任何人都可以提出更好的方法来做到这一点。

先谢谢。

2 个答案:

答案 0 :(得分:1)

是的,您应该进行增量备份而不是完整备份,因为已经将完整备份还原到您的Dev数据库。然后,当您重新存储时,它应该获取新创建的数据库对象或数据。

答案 1 :(得分:1)

您说要合并更改。

  1. 使用数据库差异工具(例如visual studio 2013中的数据库比较,在dev和prod数据库之间生成一个差异'脚本。例如,您可以针对dev和prod运行此工具。它吐出一堆创建过程,视图,表等脚本

  2. 为所有开发表格生成插入脚本

  3. 恢复prod over dev

  4. 执行dev

  5. 中步骤1和2的脚本

    任何类型的合并通常都需要人工干预。例如,如果你的prod表在dev中有一个不同数据类型的列,并且你的SP期待这个?

    另一种选择是构建仅将数据从prod加载到dev中的集成,但这需要维护,因为dev和prod中发生了更改