我想知道我的选择是什么用于复制SQL Server数据库.如果这是重复,我将删除我的问题,但在使用搜索时找不到答案.
这是我已经尝试过的:
- 将数据库写入sql脚本.
当我这样做时,我似乎总是遇到一个问题,我必须手动调整东西.像密钥或整理冲突的问题.
这似乎也很慢.我的上一个脚本文件是1.5Mb,但运行时间为1小时.遇到90%的错误也很烦人.
我主要使用sql脚本让它工作,但感觉我浪费了很多时间来修复小错误并等待sql执行.
- 在Microsoft SQL Server Management Studio上使用导出功能
如果我是正确的,则不会复制存储过程,视图和/或键.
-Detach/Attach
认为在只有一个数据库的共享主机上这是不可能的,这是正确的吗?我在尝试这个时遇到了许可问题.
这就是我尝试过的一切.
提前致谢,
Pickels
我发现最简单的方法是使用"备份/还原"选项.备份数据库,将文件复制到新服务器,然后执行还原.您需要首先在第二台服务器上创建一个空白数据库,但不需要定义任何表或任何内容.然后,右键单击新的空白数据库,并从第一台服务器上备份的文件中选择"还原和还原".
执行还原时,如果原始数据库文件存储在新服务器上不存在的路径中,或者要还原到其他位置,则可能需要转到"选项"页面并设置"还原为"路径.默认情况下,它会尝试将数据库还原到与原始服务器上相同的路径.
这取决于您的托管服务提供商允许什么.一些允许附加/恢复,一些不允许,一些允许它但按事件收费.即使允许,数据库版本也是极其重要的,因为引擎能够升级数据库,但它无法降级版本,因此您的开发版本最多只能是提供者的版本,而不是更新版本.
但最终这是一个发展过程的问题.您永远不应该通过修改数据库来开发,而是创建保持在源代码管理下的脚本,以应用任何应用程序架构更改(包括所有过程和所有目录数据).应用程序应该能够从这些脚本升级数据库模式,包括初始部署.我的建议是在扩展属性中使用应用程序定义版本,并使用脚本更新应用程序模式版本:版本控制和数据库.
但是既然猫已经不在了,而你已经做了不好的练习,那么你最好的选择是一个好的第三方脚本/比较工具,比如SQL Compare.
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |