代码之家  ›  专栏  ›  技术社区  ›  Brian Boatright

在同一台计算机上安装SQL Server 2005和2008有什么原因吗?

  •  5
  • Brian Boatright  · 技术社区  · 16 年前

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

    我们现有的sql2005数据库能在2008年不做任何修改吗? 如果是,是否有任何理由在同一服务器上安装这两个版本?

    6 回复  |  直到 15 年前
        1
  •  4
  •   Charlie    16 年前

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

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

        2
  •  3
  •   Paolo    16 年前

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

    我强烈推荐使用WindowsServer2008 Hyper-V创建两个虚拟机,一个使用2005环境,另一个使用2008环境。Hyper-V虚拟机比虚拟服务器2007快得多。

        3
  •  0
  •   configurator    16 年前

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

        4
  •  0
  •   Joshua    15 年前

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

    在生产环境中,我不推荐使用它,因为多个缓冲池会影响性能。

        5
  •  0
  •   HLGEM    15 年前

    对我来说,重要的是,您是否有2005年数据库的prod实例?您是否必须支持Prod服务器上只有2005版报告服务等的Reporting Services报表?

    如果是这样,您的开发机器上应该同时有2005和2008版本。我见过很多代码必须被抛出,因为开发人员在2008年(Prod是2005年)工作。始终根据您将在Prod中使用的软件版本进行开发。如果您要转换到2008年但尚未在Prod中使用,则需要同时使用这两种软件,一种用于维护更改,另一种用于将来的工作。

    就我个人而言,我的计算机上有SQL Server 2000、2005和2008,因为我们还没有转换所有内容,而且我有一些只能在旧版本上完成的事情。我们发现维护多个版本的关键是按照正确的顺序安装它们。如果你把2008放在第一个版本,然后放在旧版本上,情况似乎会很糟糕。

        6
  •  0
  •   David Thornley    15 年前

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

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

    原因很多。