我正在设置一个新的开发服务器,并希望安装最新版本的SQL Server 2008 Express。

我们现有的sql2005数据库是否可以在不修改的情况下使用2008?   如果有,是否有理由在同一台服务器上安装这两个版本?

有帮助吗?

解决方案

我实际上没有尝试将2005数据库迁移到2008,但通常SQL会干净利落地处理这个问题。最简单的方法是从SQL 2005备份数据库,然后使用SQL 2008恢复该备份。

如果您希望保留SQL 2005副本并在线,直到您知道2008副本正常工作,则可能需要在将备份恢复到2008时移动数据库的数据/日志文件,因为旧的数据文件将在2005年之前使用。您可以使用 restore database with move 选项执行此操作,例如:

RESTORE DATABASE mydb FROM disk ='c:\ backupfile.bak'
 WITH MOVE'maindatafile'到'c:\ newdatalocation.mdf',
 将'mainlogfile'移动到'c:\ newloglocation.ldf'

至于同时安装两者,您可能决定这样做的一个原因是简化两个版本的代码测试工作,如果您打算让软件支持与两个版本通信。

其他提示

您可以分离2005数据库并将其附加到2008服务器。我建议不要在同一台机器上安装,除非你必须(例如你为第三方编写代码而他们只使用2005)。

我强烈建议使用Windows Server 2008 hyper-v创建2个虚拟机,其中一个使用2005环境,另一个使用2008. Hyper-v虚拟机的速度比虚拟服务器2007快得多。

数据库应该(应该!)不加修改地工作。但是,对于开发,最好使用sql2005来测试脚本,除非您假设所有客户端都升级到2008,因为2008年具有SQL Server 2005中不存在的功能。

在开发和测试环境中,安装多个数据库服务器不是问题,可以减少所需的测试服务器数量。

在制作中,我不推荐它,因为多个缓冲池会打击并杀死你的表现。

对我来说重要的是你有2005年数据库的prod实例吗?您是否必须支持仅具有2005版报告服务等的prod服务器上的报告服务报告?

如果是这样,您应该在开发计算机上同时拥有2005和2008版本。我已经看到很多代码必须被抛弃,因为开发人员在2008年prod是2005年时工作。总是针对你将要生产的软件版本进行开发。如果您要转换到2008但尚未转换,那么您需要两者,一个用于维护更改,一个用于未来的东西。

我个人在我的机器上有SQL Server 2000,2005和2008,因为我们尚未转换所有内容,而且我有些东西只能在旧版本上完成。我们发现维护多个版本的关键是按照正确的顺序安装它们。如果你把2008放在第一个然后是旧版本,这似乎很糟糕。

有时您需要能够在多个版本上进行测试,或者您可能需要2005年的一件事而2008年的另一件事。

有时你会维护几个不同的应用程序,其中一些是一个,一些是另一个,你还没有更新所有内容。有时您正在升级,并且需要在升级期间对两个版本进行测试。有时你支持几个不同的客户,一些在一个版本上,一些在另一个版本上。有时您想要升级内部应用程序,但是您使用的软件包只能在旧版本上进行认证。

有很多原因。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top