|
|
1
2
通常,宿主提供程序允许您备份和还原数据库,因此完成移动的最简单方法是备份Live DB、下载备份文件、本地还原、执行所有更改、备份本地DB、上载它,然后在Live服务中还原它。在此期间,您的站点应处于管理关闭状态,这样在执行此操作时,它不会继续更新数据。您必须确保本地SQL实例与宿主提供程序的版本完全相同(@@版本),否则本地SQL可能会升级数据库结构,并且无法在宿主提供程序上还原该数据库结构(或者,如果您的版本早于宿主的版本,则无法在本地服务器上还原)。msdn bol有一个关于如何 Copy Databases using Backup/Restore . 备份/恢复的另一种选择是 detach / attach 数据库,但我不推荐这样做,因为您需要同步移动MDF和LDF,而且它们的大小也比备份大。 这假设您可以以一种向导式的方式(即快速和正确)对本地副本进行所有模式更改。当然,这并不容易。建议的方法是及时准备一个脚本,该脚本应用到达新模式所需的所有转换。有一些工具 SQL Diff , SQL Compare , SQL Delta 以及其他可以生成这样一个脚本的。另外,Visual Studio数据库版本也可以做到这一点。 我将如何做到这一点:
在我的项目中,我总是依赖脚本来部署和升级数据库。事实上,我使用数据库扩展属性来存储我的应用程序部署模式的“版本”,在代码中,我只需前滚所有将该模式转换为最后一个版本的脚本。我在博客上有一篇文章描述了这种技术: Version Control and your Database . |