2011-01-26 87 views
0

为了部署我的应用程序,我想将db schema和内容从我的devel maschine复制到生产服务器。更好的是,我希望能够通过将生产数据库完全重置为开发机器的精确副本,将devel db中的更改定期传达给生产数据库。复制完成SQL Server 2008 db

使用mysql可以很容易地将prod数据库转储到文件并将转储加载到目标数据库中。不幸的是,我无法在我的SQL Server(Express)上找到类似的功能。我一直在寻找的导入/导出函数只涉及模式,而不涉及数据,或者他们当时在一张表上工作,这意味着他们不会复制表之间的关系。

复制一个完整的数据库看起来像是一个普遍的问题,所以我希望有一个解决方案。有什么建议?

干杯, 达菲

+0

生产DB是只读的吗?它从不累积不在开发数据库中的数据? – 2011-01-26 10:17:39

回答

2

对于在sql server中复制数据库的简单方法,您需要进行备份和恢复。

3个步骤:

1)步骤如何备份数据库http://msdn.microsoft.com/en-us/library/ms187510.aspx

2)在目标服务器上创建一个新的数据库。

3.)恢复数据库。右键单击新创建的数据库并按照以下步骤操作... http://msdn.microsoft.com/en-us/library/ms177429.aspx

而你已经完成!

如果你想有一个实时同步,你可能会想尝试复制... :)

尝试读取复制的这个完整的文档。检查了这一点,这将肯定会帮你:)

http://technet.microsoft.com/en-us/library/ms151198.aspx

0

有多种选择。

  1. 分离开发机上的数据库,将数据库文件复制到prod然后附加数据库。
  2. 对dev db进行完整备份并恢复prod上的备份。
  3. 使用Microsoft SQL Server Management Studio中的“复制数据库”向导。
2

生成脚本: 右键dev的分贝 任务 - 生成脚本 下一个(如果欢迎屏幕) 确保正确的数据库选择并点击scheckbox旁边的“脚本的所有对象的诠释,他选择数据库” 根据需要更改任何选项(即设置脚本数据选项设置为true) 单击下一步 单击下一步 单击Finish 单击关闭 复制和粘贴在TA生成的脚本rget服务器(您可能需要删除并重新创建目标服务器上的db)

另一种选择是购买Redgate(或任何similer工具)的SQL Compare和SQL Data比较。它会告诉你什么是不同的,并允许你生成脚本来更新已更改的内容。