升级数据库引擎

本主题提供了为升级过程进行准备和了解升级过程所需的信息,其中包括:

  • 已知升级问题。

  • 升级前的任务和注意事项。

  • 指向升级数据库引擎的过程主题的链接。

  • 指向将数据库迁移到SQL Server的过程主题的链接。

  • 故障转移群集的注意事项。

  • 升级后的任务和注意事项。

已知升级问题

升级数据库引擎之前,请查看SQL Server数据库引擎向后兼容性。 有关支持的升级方案和已知升级问题的信息,请参阅支持的版本升级。 有关其他SQL Server组件的向后兼容性内容,请参阅向后兼容性

重要

在从 SQL Server 的某一版本升级到另一版本之前,请验证要升级到的版本是否支持当前使用的功能。

注意

从以前版本的 SQL Server Enterprise 版本升级到 SQL Server 2014 时,请在Enterprise Edition:基于核心的许可和Enterprise Edition之间进行选择。 这些 Enterprise 版本仅在许可模式方面存在不同。 有关详细信息,请参阅 Compute Capacity Limits by Edition of SQL Server

升级准备一览表

SQL Server 安装程序支持从早期版本升级SQL Server。 还可以从以前的 SQL Server 版本迁移数据库。 可以从一个SQL Server实例迁移到同一计算机上的另一个实例,也可以从另一台计算机上的SQL Server实例迁移。 迁移选项包括使用复制数据库向导、备份和还原功能、使用 SQL ServerIntegration Services 导入和导出向导以及批量导出/批量导入方法。

升级数据库引擎之前,请查看以下内容:

在升级SQL Server之前,请查看以下问题并进行更改:

  • 当升级在 MSX/TSX 关系中登记了 SQL Server 代理的 SQL Server 实例时,应在升级主服务器之前升级目标服务器。 如果你在升级目标服务器之前升级主服务器,SQL Server 代理将无法连接到 SQL Server 的主实例。

  • 从 64 位版本的 SQL Server 升级到 64 位版本的 SQL Server 2014 时,必须先升级 Analysis Services,然后才能升级数据库引擎。

  • 如有必要,请备份要升级的实例中的所有 SQL Server 数据库文件,以便可以还原这些文件。

  • 在要升级的数据库上运行适当的数据库控制台命令 (DBCC),以确保这些数据库处于一致状态。

  • 估计升级 SQL Server 组件以及用户数据库所需的磁盘空间。 有关SQL Server组件所需的磁盘空间,请参阅安装 SQL Server 2014 的硬件和软件要求

  • 确保将现有的 SQL Server 系统数据库(master、model、msdb 和 tempdb)配置为自动增长,并确保它们具有足够的硬盘空间。

  • 确保所有数据库服务器的 master 数据库中都有登录信息。 这对还原数据库很重要,因为 master 数据库中有系统登录信息。

  • 禁用所有启动存储过程,因为升级过程在升级 SQL Server 实例时将停止然后再启动服务。 在启动时进行处理的存储过程可能会阻塞升级过程。

  • 确保复制正在进行,然后停止复制。

  • 退出所有应用程序,包括所有依赖 SQL Server 的服务。 如果有本地应用程序连接到要升级的实例,则升级可能会失败。

  • 如果使用数据库镜像,请参阅在升级服务器实例时最大限度地减少镜像数据库的停机时间

升级数据库引擎

可以通过版本升级覆盖 SQL Server 2005 或更高版本的安装。 如果在运行 SQL Server 安装程序时检测到早期版本的 SQL Server,则会升级以前的所有 SQL Server 程序文件,并保留存储在上一个 SQL Server 实例中的所有数据。 此外,早期版本的 SQL Server 联机丛书在计算机上将保持不变。

警告

运行 SQL Server 2014 安装程序时,作为运行预升级检查的一部分,将停止并重启 SQL Server 实例。

注意

在升级 SQL Server后,早期的 SQL Server 实例将被覆盖,在计算机中不再存在。 因此在升级前,请备份 SQL Server 数据库以及与早期的 SQL Server 实例相关的其他对象。

可以使用SQL Server安装向导升级数据库引擎。

升级后的数据库兼容级别

modelmsdbResource 数据库的兼容级别tempdb在升级后设置为 120。 master 系统数据库保留它在升级之前的兼容级别。

如果升级前用户数据库的兼容级别为 100 或更高,升级后将保持相应级别。 如果升级前的兼容级别为 90,则升级后的数据库中的兼容级别设置为 100,这是 SQL Server 2014 中支持的最低兼容级别。

注意

新的用户数据库将继承 model 数据库的兼容级别。

迁移数据库

可以使用备份和还原或分离和附加SQL Server中的功能将用户数据库移动到SQL Server实例。 有关详细信息,请参阅使用备份和还原复制数据库数据库分离和附加 (SQL Server)

重要

数据库在源服务器和目的服务器上的名称相同时,不能进行移动或复制。 在这种情况下,它被标记为“已存在”。

有关详细信息,请参阅 Use the Copy Database Wizard

升级数据库引擎后

升级 数据库引擎后,请完成以下任务:

  • 重新注册服务器。 有关注册服务器的详细信息,请参阅注册服务器

  • 重新填充全文目录以便确保查询结果中的语义一致性。

    SQL Server 2014 安装新的断字符供Full-Text和语义搜索使用。 在建立索引时和查询时均使用断字符。 如果您没有重新生成全文目录,搜索结果可能不一致。 如果发出全文查询来查找以前版本的 SQL Server 和当前断字符中以不同方式断开的短语,则可能无法检索包含该短语的文档或行。 其原因在于,建立了索引的短语是使用与正使用的查询不同的逻辑进行断字的。 解决方法是使用新的断字符来重新填充(重新生成)全文目录,以便索引时行为和查询时行为完全相同。

    有关详细信息,请参阅 sp_fulltext_catalog (Transact-SQL)

  • 配置SQL Server安装。 为了减少系统的可攻击外围应用, SQL Server 有选择地安装和启用了一些关键服务和功能。

  • 验证或删除由 SQL Server 2005 生成并应用于分区表和索引的查询的 USE PLAN 提示。

    SQL Server更改了对分区表和索引的查询的处理方式。 对使用 SQL Server 2005 生成的计划的 USE PLAN 提示的分区对象进行的查询可能包含在 SQL Server 2014 中不可用的计划。 升级到 SQL Server 2014 后,建议执行以下过程。

    如果在查询中直接指定 USE PLAN 提示:

    1. 从查询删除 USE PLAN 提示。

    2. 测试查询。

    3. 如果优化器未选择相应的计划并优化查询,请考虑使用所需的查询计划指定 USE PLAN 提示。

    如果在计划指南中指定 USE PLAN 提示:

    1. 使用 sys.fn_validate_plan_guide 函数来检查计划指南的有效性。 或者,可以使用SQL Server Profiler中的计划指南失败事件来检查无效计划。

    2. 如果计划指南无效,则删除该计划指南。 如果优化器未选择相应的计划并优化查询,则考虑使用所需查询计划指定 USE PLAN 提示。

    当在计划指南中指定 USE PLAN 提示时,无效的计划将不会导致查询失败。 相反,仍可在不使用 USE PLAN 提示的情况下对计划进行编译。

在升级前标记为启用或禁用全文的数据库,在升级后也将保持该状态。 升级后,将为所有启用全文的数据库自动重新生成并填充全文目录。 此项操作既耗时又耗费资源。 可以通过运行以下语句暂停全文索引操作:

EXEC sp_fulltext_service 'pause_indexing', 1;  

若要恢复全文索引填充,请运行以下语句:

EXEC sp_fulltext_service 'pause_indexing', 0;  

另请参阅

支持的版本和版本升级
使用 SQL Server 的多个版本和实例
向后兼容性
升级复制的数据库