【IT168 技术文档】
您可以将 SQL Server 数据库引擎升级到 SQL Server 2008。
SQL Server 安装程序只需最少的用户干预就可升级 SQL Server 的早期版本。不过,正确的准备工作和熟悉升级过程可以更容易防止或解决出现的任何问题。
本主题提供了为升级过程进行准备和了解升级过程所需的信息,其中包括:
已知升级问题。
升级前的任务和注意事项。
有关升级数据库引擎的过程主题的链接。
将数据库迁移至 SQL Server 的过程主题的链接。
故障转移群集的注意事项。
升级后的任务和注意事项。
重要提示:
在从 SQL Server 的某一版本升级到另一版本之前,请验证要升级到的版本是否支持当前使用的功能。
升级准备一览表
SQL Server 安装程序支持从早期版本的 SQL Server 进行升级。也可以迁移早期 SQL Server 版本中的数据库。可以从一个 SQL Server 实例迁移至同一台计算机上的另一个实例,也可以从另一台计算机上的 SQL Server 实例迁移。迁移选项包括使用复制数据库向导、备份和还原功能、使用 SQL Server Integration Services 导入和导出向导,以及大容量导出/大容量导入方法。
请在升级 SQL Server 之前检查下列问题并做出更改:
从 64 位版本的 SQL Server 升级到 64 位版本的 SQL Server 2008 时,必须在升级数据库引擎之前先升级 Analysis Services。
如有必要,请备份要升级的实例中的所有 SQL Server 数据库文件,以便可以还原这些文件。
在要升级的数据库上运行适当的数据库控制台命令 (DBCC),以确保这些数据库处于一致状态。
估计升级 SQL Server 组件以及用户数据库所需的磁盘空间。
确保将现有的 SQL Server 系统数据库(master、model、msdb 和 tempdb)配置为自动增长,并确保它们具有足够的硬盘空间。
确保所有数据库服务器的 master 数据库中都有登录信息。这对还原数据库很重要,因为 master 数据库中有系统登录信息。
禁用所有启动存储过程,因为升级过程在升级 SQL Server 实例时将停止然后再启动服务。在启动时进行处理的存储过程可能会阻塞升级过程。
停止复制并确保复制日志是空的。
升级 SQL Server 2000 数据库引擎实例的操作会保留最大工作线程数的配置值。但是,建议在升级前将最大工作线程数值更改为 0,以允许数据库引擎计算非常好的线程数。
退出所有应用程序,包括所有依赖 SQL Server 的服务。如果有本地应用程序连接到要升级的实例,则升级可能会失败。
升级数据库引擎
可以用升级版本覆盖 SQL Server 2000 或 SQL Server 2005 安装。如果在运行 SQL Server 安装程序时检测到 SQL Server 的早期版本,将升级所有早期 SQL Server 程序文件,并且保留早期 SQL Server 实例中存储的所有数据。此外,计算机上早期版本的 SQL Server 联机丛书将保持不变。
注意:
在升级 SQL Server 后,早期的 SQL Server 实例将被覆盖,在计算机中不再存在。因此在升级前,请备份 SQL Server 数据库以及与早期的 SQL Server 实例相关的其他对象。
可以使用 SQL Server 安装向导升级数据库引擎。
注意:
如果计算机安装了 SQL Server 2000 管理工具和 SQL Server 2008 的默认实例,则 SQL Server 安装程序将允许您安装 SQL Server 2000 默认实例。但这样做将禁用已安装的 SQL Server 2008 实例。因此,当计算机中已存在 SQL Server 2000 管理工具和 SQL Server 2008 的默认实例时,请不要安装 SQL Server 的默认实例。
升级后的数据库兼容级别
升级后,tempdb、model、msdb 和 Resource 数据库的兼容级别将设置为 100。master 系统数据库保留它在升级之前的兼容级别,除非该级别小于 80。如果 master 的兼容级别在升级前小于 80,升级后兼容级别将设置为 80。
如果升级前用户数据库的兼容级别为 80 或 90,升级后将保持相应级别。如果升级前兼容级别为 70 或更低,则在升级后的数据库中,兼容级别将设置为 80,该级别为 SQL Server 2008 支持的最低兼容级别。
注意:
新的用户数据库将继承 model 数据库的兼容级别。
迁移数据库
可以使用 SQL Server 中的备份和还原功能或分离和附加功能将用户数据库移动到 SQL Server 实例。
重要提示:
数据库在源服务器和目的服务器上的名称相同时,不能进行移动或复制。在这种情况下,它被标记为“已存在”。