有什么理由在同一台计算机上安装SQL Server 2005和2008?
我正在设置新的开发服务器,并想安装最新版本的SQL Server 2008 Express。
我们现有的sql2005数据库是否可以在不做任何修改的情况下使用2008?
如果是这样,是否有任何理由在同一服务器上安装两个版本?
解决方案
我们可以分派2005数据库并将其添加到2008服务器。除非我们必须这样做,否则我建议我们不要将两者都安装在同一台计算机上(例如,我们正在为第三方编写代码,并且它们仅使用2005)。
我强烈建议使用Windows Server 2008 hyper-v创建2个虚拟机,一个在2005环境中创建,另一个在2008环境中创建。Hyper-v虚拟机的运行速度比Virtual Server 2007快得多。
我实际上并没有尝试将2005数据库迁移到2008,但是通常SQL可以毫不费力地轻松地进行处理。最简单的方法是从SQL 2005备份数据库,然后使用SQL 2008还原该备份。
如果要一直保持SQL 2005副本在线状态,直到我们知道2008副本正在运行,则在将备份还原到2008时,我们可能需要将数据库的数据/日志文件移动,因为旧的数据文件将位于可以在2005年使用。我们可以使用"恢复数据库"的"带有移动"选项来执行此操作,例如:
从磁盘还原数据库mydb ='c:\ backupfile.bak' 用MOVE'maindatafile'到'c:\ newdatalocation.mdf', 将'mainlogfile'移动到'c:\ newloglocation.ldf'
对于同时安装两个版本,我们决定执行此操作的一个原因是,如果我们打算让软件支持与两个版本进行通讯,则可以简化针对两个版本的代码测试工作。
数据库应该(应该!)未修改地工作。但是,对于开发而言,除非假定所有客户端也都将升级到2008,否则最好具有sql2005来测试脚本,因为2008具有SQL Server 2005中不存在的功能。
在开发和测试环境中,安装多个数据库服务器不是问题,并且可以减少所需的测试服务器的数量。
在生产中,由于多个缓冲池会争夺并杀死性能,因此我不建议这样做。
对我来说重要的是,我们是否会拥有属于2005数据库的产品实例?我们是否必须支持仅具有2005年版本的报表服务等的产品服务器上的报表服务报表?
如果是这样,开发机器上应该同时具有2005和2008版本。我已经看到很多代码被扔掉了,因为开发人员在prod于2005年开发时使用了2008年。总是根据我们将要在prod中使用的软件版本进行开发。如果我们要转换到2008,但尚未转换到产品中,则需要两者,一个用于维护更改,另一个用于将来。
就我个人而言,我的机器上装有SQL Server 2000、2005和2008,因为我们尚未转换所有内容,并且有些事情只能在旧版本上完成。我们发现维护多个版本的关键是以正确的顺序安装它们。如果我们先安装2008年,然后再安装旧版本,则情况似乎会很糟糕。
有时我们需要能够在多个版本上进行测试,或者一件事需要2005,而另一件事则需要2008.
有时我们需要维护几个不同的应用程序,其中一些在一个应用程序上,而另一些在另一个应用程序上,而我们尚未更新所有内容。有时我们正在升级,并且需要在升级过程中对这两个版本进行测试。有时,我们支持几个不同的客户,一个版本支持另一个版本。有时我们想升级内部应用程序,但是我们使用的软件包仅在较旧版本上经过认证。
原因很多。