我正在设置一个新的开发服务器并想安装最新版本的 SQL Server 2008 Express。
我们现有的 sql2005 数据库是否可以在不修改的情况下与 2008 一起使用?如果是这样,是否有任何理由将两个版本安装在同一台服务器上?
我正在设置一个新的开发服务器并想安装最新版本的 SQL Server 2008 Express。
我们现有的 sql2005 数据库是否可以在不修改的情况下与 2008 一起使用?如果是这样,是否有任何理由将两个版本安装在同一台服务器上?
我实际上并没有尝试将 2005 数据库迁移到 2008,但通常 SQL 可以干净利落地处理这个问题。最简单的方法是从 SQL 2005 备份您的数据库,然后使用 SQL 2008 恢复该备份。
如果您想保留 SQL 2005 副本并保持在线,直到您知道 2008 副本正在工作,您可能需要在将备份恢复到 2008 时移动数据库的数据/日志文件,因为旧数据文件将在到 2005 年使用。您可以使用 的with move
选项执行此操作restore database
,例如:
RESTORE DATABASE mydb FROM disk = 'c:\backupfile.bak'
WITH MOVE 'maindatafile' to 'c:\newdatalocation.mdf',
MOVE 'mainlogfile' to 'c:\newloglocation.ldf'
至于同时安装两者,您可能决定这样做的一个原因是简化针对两个版本测试代码的工作,如果您打算让您的软件支持与两个版本通信。
您可以分离 2005 数据库并将其附加到 2008 服务器。我建议不要将两者安装在同一台机器上,除非你必须这样做(例如,你正在为第三方编写代码,而他们只使用 2005)。
我强烈推荐的是使用 windows server 2008 hyper-v 创建 2 台虚拟机,一台使用 2005 环境,另一台使用 2008。Hyper-v 虚拟机比 Virtual server 2007 快得令人难以置信。
数据库应该(应该!)不加修改地工作。但是,对于开发而言,最好使用 sql2005 来测试您的脚本,除非您假设所有客户端也将升级到 2008,因为 2008 具有 SQL Server 2005 中不存在的功能。
在开发和测试环境中,安装多个数据库服务器不是问题,并且可以减少所需的测试服务器数量。
在生产中,我不推荐它,因为多个缓冲池会相互竞争并扼杀你的性能。
对我来说重要的是你会有 2005 数据库的产品实例吗?您是否必须支持仅具有 2005 版报告服务等的 prod 服务器上的报告服务报告?
如果是这样,您的开发机器上应该同时拥有 2005 和 2008 版本。我看到很多代码不得不被丢弃,因为开发人员在 2008 年工作,而 prod 是 2005 年。总是针对你在 prod 中拥有的软件版本进行开发。如果您要转换到 2008 年,但还没有在 prod 中,您需要两者,一个用于维护更改,一个用于未来的东西。
就我个人而言,我的机器上有 SQL Server 2000、2005 和 2008,因为我们还没有转换所有东西,而且我有一些只能在旧版本上完成的事情。我们发现维护多个版本的关键是以正确的顺序安装它们。如果您先安装 2008,然后再安装旧版本,这似乎很糟糕。
有时您需要能够在多个版本上进行测试,或者您可能需要 2005 做一件事,而 2008 做另一件事。
有时您维护几个不同的应用程序,其中一些在一个上,一些在另一个上,而您还没有更新所有内容。有时您正在升级,并且需要在升级期间测试两个版本。有时您支持多个不同的客户,一些在一个版本上,一些在另一个版本上。有时您想升级内部应用程序,但您使用的软件包仅在旧版本上经过认证。
有很多原因。