2.3 SQL Server数据库升级策略

SQL Server安装程序支持在各种版本的SQL Server间进行版本升级,例如,可以将SQL Server 2008、SQL Server 2008 R2、SQL Server 2012(11.x)或SQL Server 2014的实例升级到SQL Server 2016。

2.3.1 升级前的准备工作

在对数据库进行升级之前,需要了解升级前的准备工作,还需要了解哪些情况下不能进行升级操作。

1. 升级前的准备

(1)在从SQL Server 2016(13.x)的某个版本升级到另一个版本之前,请确认当前所用的功能在要移到的版本中受支持。

(2)升级到SQL Server之前,请先为SQL Server Agent启用Windows身份验证,并验证默认配置:SQL Server Agent服务账户是否是SQL Server sysadmin组的成员。

(3)若要升级到SQL Server 2016(13.x),运行的必须是受支持的操作系统。

(4)如果有挂起的重新启动操作,则会阻止升级。

(5)如果未运行Windows Installer服务,则会阻止升级。

2. 不受支持的升级方案

(1)不支持SQL Server 2016(13.x)的跨版本实例。数据库引擎、Analysis Services和Reporting Services组件的版本号在SQL Server 2016(13.x)实例中必须相同。

(2)SQL Server 2016(13.x)仅适用于64位平台。不支持跨平台升级。不能使用SQL Server安装程序将SQL Server的32位实例升级到本机64位。但是,如果数据库未在复制过程中发布,则可以从SQL Server的32位实例中备份或分离数据库,然后再将它们还原或附加到SQL Server的新实例(64位)。必须在master、msdb和model系统数据库中重新创建任何登录名和其他用户对象。

(3)不能在升级现有的SQL Server实例的过程中添加新功能。将SQL Server实例升级到SQL Server 2016(13.x)之后,可以使用SQL Server 2016(13.x)安装程序添加功能。

(4)在WOW模式下不支持故障转移群集。

(5)不支持从以前的SQL Server版本的Evaluation版升级。

(6)从RC1或以前版本的SQL Server 2016升级到RC3或更高版本时,必须在升级前卸载PolyBase并在升级后重新安装。

2.3.2 具体的升级过程

对于本地安装,必须以管理员身份运行安装程序。如果从远程共享安装SQL Server,则必须使用对远程共享具有读取权限的域账户,为了激活对SQL Server版本进行的升级更改,必须重新启动SQL Server服务。

具体的升级过程如下。

步骤1:插入SQL Server安装介质,在根文件夹中,双击setup.exe或者从配置工具中启动SQL Server安装中心,若要从网络共享进行安装,请找到共享中的根文件夹,然后双击SETUP.EXE,如图2-23所示。

步骤2:若要将SQL Server的现有实例升级到另一版本,请在SQL Server安装中心中单击“维护”,然后选择“版本升级”,如图2-24所示。

图2-23 双击安装程序

图2-24 “SQL Server安装中心”窗口

提示:如果需要使用安装程序支持文件,SQL Server安装程序将安装它们,如果安装程序指示重新启动计算机,请在继续操作之前重新启动。系统配置检查器将在用户的计算机上运行发现操作,若要继续,可单击“确定”按钮。

步骤3:在“产品密钥”窗口中,选择相应的单选按钮,这些单选按钮指示选择升级的类型,如升级到免费版本的SQL Server,如图2-25所示。

步骤4:单击“下一步”按钮,在“许可条款”窗口中阅读许可协议,然后选中相应的复选框以接受许可条款和条件。若要继续,单击“下一步”按钮,若要结束安装程序,单击“取消”按钮,如图2-26所示。

图2-25 “产品密钥”窗口

图2-26 “许可条款”窗口

步骤5:单击“下一步”按钮,在“全局规则”窗口中,安装程序全局规则可确定在用户安装SQL Server安装程序支持文件时可能发生的问题,必须更正所有失败,安装程序才能继续,如图2-27所示。

步骤6:单击“下一步”按钮,进入“版本升级规则”窗口,在版本升级操作开始之前,“版本升级规则”窗口会验证用户的计算机配置,如图2-28所示。

步骤7:单击“下一步”按钮,在“选择实例”窗口上指定要升级的SQL Server实例,如图2-29所示。

步骤8:单击“下一步”按钮,“准备升级版本”窗口显示用户在安装过程中指定的安装选项的树视图,若要继续,可单击“升级”按钮,如图2-30所示。

图2-27 “全局规则”窗口

图2-28 “版本升级规则”窗口

图2-29 “选择实例”窗口

图2-30 “准备升级版本”窗口

步骤9:在版本升级过程中,需要重新启动服务以便接受新设置。版本升级完成后,“完成”窗口会提供指向版本升级摘要日志文件的链接,若要关闭该向导,单击“关闭”按钮,如图2-31所示。

图2-31 “完成”窗口

如果是从SQL Server Express进行的升级,则必须执行以下附加步骤才能使用SQL Server的升级实例。具体的附加步骤如下。

步骤1:在Windows SCM中启用SQL Server Agent服务。

步骤2:使用SQL Server配置管理器设置SQL Server Agent服务账户。

另外,如果是从SQL Server Express升级,除了执行上面的步骤外,还需要执行下列操作:

(1)升级之后,在SQL Server Express中设置的用户将保持其原有的设置,具体而言,BUILTIN\Users组将保持其原有的设置,可以根据需要禁用、删除或重新设置这些账户。

(2)升级之后,tempdb和model系统数据库的大小和恢复模式保持不变。可以根据需要重新配置这些设置。

(3)升级之后,模板数据库保留在计算机上。

2.3.3 使用升级顾问准备升级

升级顾问将分析已安装的SQL Server组件,并确定在升级到SQL Server 2016之前或之后要解决的问题。使用升级顾问准备升级的操作步骤如下。

步骤1:在SQL Server安装中心页面单击“下载升级顾问”链接,即可开始下载升级顾问,如图2-32所示。

步骤2:下载完成后,双击下载的安装程序,即可打开升级顾问的欢迎使用页面,如图2-33所示。

图2-32 “下载升级顾问”链接

图2-33 升级顾问的欢迎使用界面

步骤3:单击Next按钮,进入升级顾问的许可协议页面,在其中选择相应的复选框,如图2-34所示。

步骤4:单击Next按钮,进入开始安装界面,如图2-35所示。

图2-34 许可协议界面

图2-35 开始安装界面

步骤5:单击Install按钮,即可开始安装升级顾问,在其中显示安装的进度,如图2-36所示。

步骤6:安装完成后,即可进入升级顾问的工作界面,在其中根据自己的需要即可对SQL Server进行升级操作,如图2-37所示。

图2-36 显示安装的进度

图2-37 升级顾问工作界面

2.3.4 SQL Server 2016的升级方案

SQL Server 2016支持从下列SQL Server版本升级。

  •  SQL Server 2008 SP4或更高版本。
  •  SQL Server 2008 R2 SP3或更高版本。
  •  SQL Server 2012(11.x)SP2或更高版本。
  •  SQL Server 2014(12.x)或更高版本。

表2-2列出了从SQL Server的早期版本升级到SQL Server 2016(13.x)的支持方案。

表2-2 SQL Server 2016的升级方案

续表

续表

2.3.5 升级过程中的常见问题

升级过程中常见的问题如下:

(1)升级会删除早期的SQL Server实例的注册表设置。升级之后,必须重新注册服务器。

(2)为了帮助优化查询性能,建议用户在升级之后更新所有数据库的统计信息。使用sp_updatestats存储过程可以更新SQL Server数据库中用户定义的表中的统计信息。

(3)为了减少系统的可攻击外围应用,SQL Server将有选择地安装和启用一些关键服务和功能,因此,升级完成后,需要配置新安装的SQL Server。