升级数据库引擎

本主题提供准备和了解升级过程所需的信息;它涵盖:

  • 已知升级问题。

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

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

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

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

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

已知升级问题

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

重要

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

注释

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

升级前检查列表

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 安装向导升级数据库引擎。

升级后的数据库兼容性级别

升级后, msdb资源数据库的兼容级别modeltempdb设置为 120。 master 系统数据库保留它在升级之前的兼容级别。

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

注释

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

迁移数据库

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

重要

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

有关详细信息,请参阅 “使用复制数据库向导”。

升级数据库引擎后

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

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

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

    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 的多个版本和实例
向后兼容性
升级复制的数据库