5

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

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

4

6 回答 6

4

我实际上并没有尝试将 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'

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

于 2008-09-28T21:23:26.900 回答
3

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

我强烈推荐的是使用 windows server 2008 hyper-v 创建 2 台虚拟机,一台使用 2005 环境,另一台使用 2008。Hyper-v 虚拟机比 Virtual server 2007 快得令人难以置信。

于 2008-09-28T21:18:09.797 回答
0

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

于 2008-09-28T21:26:07.000 回答
0

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

在生产中,我不推荐它,因为多个缓冲池会相互竞争并扼杀你的性能。

于 2009-09-12T19:21:46.470 回答
0

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

如果是这样,您的开发机器上应该同时拥有 2005 和 2008 版本。我看到很多代码不得不被丢弃,因为开发人员在 2008 年工作,而 prod 是 2005 年。总是针对你在 prod 中拥有的软件版本进行开发。如果您要转换到 2008 年,但还没有在 prod 中,您需要两者,一个用于维护更改,一个用于未来的东西。

就我个人而言,我的机器上有 SQL Server 2000、2005 和 2008,因为我们还没有转换所有东西,而且我有一些只能在旧版本上完成的事情。我们发现维护多个版本的关键是以正确的顺序安装它们。如果您先安装 2008,然后再安装旧版本,这似乎很糟糕。

于 2010-02-18T22:41:33.477 回答
0

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

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

有很多原因。

于 2010-02-18T22:47:32.137 回答