SQL Server升级指南2008~2014

作者简介:潘仁杰,北京海天起点数据库维护工程师,获有OCP、RHCE证书。多年的运营商、银行数据库运维经验,熟悉Oracle日常运维管理、安装、升级和迁移等擅长并专注于Oracle在unix/linux下的诊断及SQL调优。并且也了解关注MYSQL,大数据和Python等技术。

概述

SQL Server支持从旧的实例升级到新产品的实例,同时可以将数据从旧实例迁移到新的实例。

从SQL Server2008升级到SQL Server 2014。

源服务器:

操作系统:Windows 10 Enterprise

SQL Server 版本:Microsoft SQL Server 2008 R2 (RTM)

目标服务器:

操作系统:Windows Server 2008 R2 Enterprise

SQL Server 版本:Microsoft SQL Server 2014 (SP2-GDR)

升级前检查

版本检查

检查数据升级版本是否能升级到SQL SERVER 2014

SQL Server 2014 支持从以下版本的升级SQL Server:

SQL Server 2005 SP4 或更高版本

SQL Server 2008 SP3 或更高版本

SQL Server 2008 R2 SP2 或更高版本

SQL Server 2012 SP1 或更高版本

  根据微软的授权许可政策,旧产品如果安装的是评估版,那么不可以升级。

  升级之前,请确认操作系统是否支持新的SQL Server产品。

  升级安装不可以改变处理器平台的架构,例如,只能将 x86架构的 SQL Server 2008 升级到 x86 架构的 SQL Server 2014。

  • 不支持 SQL Server 2014 的跨版本实例。 数据库引擎、 Analysis Services和 Reporting Services 组件的版本号在 SQL Server 2014实例中必须相同。
  • 不支持跨平台升级。 不能使用 SQL Server 安装程序将 SQL Server 的 32 位实例升级到本机 64 位。 但是,如果数据库未在复制过程中发布,则可以从 SQL Server的 32 位实例中备份或分离数据库,然后再将它们还原或附加到 SQL Server 的新实例(64 位)。 必须在 master、msdb 和 model 系统数据库中重新创建任何登录名和其他用户对象。
  • 不能在升级现有的 SQL Server实例的过程中添加新功能。 将 SQL Server 实例升级到 SQL Server 2014 之后,您可以使用 SQL Server 2014 安装程序添加功能。 有关详细信息,请参阅向 SQL Server 2014 实例添加功能(安装)
  • 在 WOW 模式下不支持故障转移群集。

详细的升级支持的版本:

https://docs.microsoft.com/zh-cn/sql/database-engine/install-windows/supported-version-and-edition-upgrades?view=sql-server-2014

升级顾问

SQL Server 2014 Upgrade Advisor是微软官出品的升级前检查工具,无论是使用In-Place还是Side-by-Side升级方式,升级前都要使用Upgrade Advisor进行检查。

升级顾问会对以下 SQL Server 组件进行分析:

  • 数据库引擎
  • Analysis Services
  • Reporting Services
  • Integration Services

该分析会检查可以访问的对象,例如脚本、存储过程、触发器和跟踪文件。 升级顾问不能对桌面应用程序或加密的存储过程进行分析。

输出的格式为 XML 报表。 通过使用升级顾问报表查看器可查看 XML 报表。

取得可转散发套件资料夹中Upgrade Advisor安装档案(sqlua.msi)的安装媒体,或做为一部分的SQL 2014功能套件下载

下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=42295

安装和运行升级顾问的必备组件如下:

  • Windows Vista SP1、Windows Server 2008、Windows 7 或 Windows Server 2008 R2。
  • Windows Installer 4.5。
  • .NET Framework(最低为 .NET Framework 4)。  SQL Server 2014 的安装镜像的根目录\redist的DotNetFrameworks 文件夹中的dotNetFx40_Full_x86_x64.exe
  • Microsoft SQL Server Transact-SQL ScriptDom 可以从 SQL Server 2014 的安装镜像的ScriptDomSQL Server 2014功能包安装。也可从官网下载安装

下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=42295

文件名:SqlDom.msi

使用Microsoft SQL Server Upgrade Advisor 进行升级前检查,确认是否满足升级要求

提供了两种使用方式:

CMD的方式

Upgrade Advisor的语法说明

https://docs.microsoft.com/zh-cn/sql/2014/sql-server/install/running-upgrade-advisor-command-prompt?view=sql-server-2017

-ConfigFile filename 配置路径和配置文件名 XML格式

执行结果如下:


可视化执行方式

注:可视化界面的情况下,有时值会存在分析卡在0%的情况,命令行则不会出现这类情况。推荐使用CMD的命令行

1. 在”开始”菜单上找到”SQL Server 2014 Upgrade Advisor”执行。

2. 在升级顾问的欢迎界面上,单击”启动升级顾问分析向导”。

3.输入服务器名称。

4. 输入实例名称。输入实例名称或者从下拉列表选择实例,就可以选择一个已有实例

5.选择数据库。可以分析跟踪文件和SQL批处理文件,帮助检测应用程序兼容性问题。

但必须保证该跟踪文件和批处理文件包含应用程序使用的所有命令。

如果在升级时选择检测SSIS包,则选择选择分析服务器或存储在包文件的包。如果想要分析这两种服务,则必须运行两次Upgrade Advisor。

6. 单击Run(运行),启动分析过程。

实例信息

    1. 分析新数据库的目标服务器的磁盘空间,如果磁盘空间不足,请在目标服务器上添加更多空间

    2. 确认目标服务器的数据和日志文件位置

    3. 收集有关数据库属性的信息(自动统计,数据库所有者,恢复模型,兼容级别,可信赖选项等)

    4. 收集依赖应用程序的信息,确保在数据库迁移期间停止应用程序服务

      列出链接服务器的脚本

    5. 用于列出数据库相关作业的脚本

    6. 收集数据库登录用户及其权限的信息。

    7. 检查数据库中是否有Orphan用户

    8. 检查SQL Server是否有任何依赖对象

      确认是否SQL代理作业和链接服务器

    9. 检查数据库的维护计划
      停止在运行的维护计划

升级方式

In-place

就地升级(in-place),在SQL Several 2008原安装数据库,采用覆盖安装的升级模式。

1.在”SQL Server 安装中心”选择”安装”选项卡,右侧详细窗格中选择:”从 SQL Server 2005、SQL Server 2008、S QL Server 2008 R2 或 SQL Server 2012 升级到 SQL Server 2014″。就可以直接在本地计算机上升级安装新的 SQL Server 产品

2.在安装过程中,安装向导将识别旧产品的配置信息,并将原有的用户数据迁移到新的实例。这种升级方式不改变硬件,基本上也不会改变实例的配置,从而在完成升级后基本上不需改动原先的业务系统。

3.升级过程主要是将旧的应用程序更换为最新的版本,但不会在升级过程中添加新的功能。在升级完成后,才可以使用安装程序添加功能。

在就地升级过程中,联机从书不会升级,需要手动升级。

4.基本上都下一步,下一步

5.选择全文升级方式

6.检查升级条件,发现检查发现由于安装版本是:SQL Server 2008R2,SQL SERVER 2014 升级的支持2008R2 SP2,所以对现有数据库需要打补丁。

SP1和SP2的补丁的下载地址分别为:

https://www.microsoft.com/zh-cn/download/details.aspx?id=26727

https://www.microsoft.com/zh-CN/download/details.aspx?id=30437

安装后补丁,继续升级操作。升级成功。

Side-by-side

并行升级(side-by-side),在异机进行升级操作,在新的服务安装SQL Server 2014的实例,将需要升级的旧的实例的数据复制或移动到新的实例。

这种升级方式,可以最大限度地减少 SQL Server 的停机时间。而且这种升级可以不覆盖原有的实例,一旦升级失败,就可以迅速回滚。

1.停止应用程序服务

2.防止数据库被其它用户误更改

a.将数据库更改为只读模式(可选)

注:恢复数据读写状态

b.或者:在本地服务器以管理员身份(单用户)启动服务

注:Reporting Services 有可能自动联接到数据库,导致单用户下,无法登录,可以先停止此服务。

可以通过:

查询出哪些用户连接数据库上。

在命令行窗口,用sqlcmd这个命令行工具连接SQL

3.执行完整备份和事务日志备份

执行中的备份脚本,将需要迁移的数据库进行完整备份和事务日志备份

4、移动数据库文件

成功备份后,将备份文件复制到SQL Server2014 SP1实例。

5、还原数据库

在SQL Server2014实例将数据库还原。

首先,使用NORECOVERY语句来恢复完整备份;然后,使用RECOVERY语句来恢复事务日志备份文件。

6.根据数据库属性脚本输出交叉检查数据库属性,根据预迁移 – 核对表更改数据库属性

7、更改数据库所有者

这会将数据库所有者更改为”sa”。这可用于更改为您想要的任何所有者。

8、更改数据库兼容级别

SQL Server 2014 SP1实例,兼容级别为120。因此当SQL Server 2008数据库升级到SQL Server 2014时,原数据库的兼容级别将从100更改为120

或者

查询语句

9、脚本打开值得信赖的选择

如果设置了可信任的选项,则会为数据库启用它。(默认是关闭的)

10.转移用户登录

转移或创建登录到新的SQL Server2014 SP1实例,连接最终用户。

验证是否可以登录访问财务数据库,这样,一旦数据库上线,所有用户都可以成功连接到数据库。

脚本:https://support.microsoft.com/en-us/help/918992/how-to-transfer-logins-and-passwords-between-instances-of-sql-server

11.检查孤立用户并修复孤立用户

用于检查和修复孤立用户的脚本

12.在还原的数据库上执行DBCC UPDATEUSAGE。

升级到较新版本的SQL Server时,对迁移的数据库运行DBCC UPDATEUSAGE命令。

13.验证用户数据库的逻辑和物理完整性。

或者

14.重建所有索引

一旦数据库升级成功,在数据库之前上线,重建所有索引。

15.批量重建索引

16.更新索引统计

17.重新编译程序

18.启动应用程序服务

检查应用程序功能并检查Windows事件日志。

19.检查SQL Server错误日志

以查找登录失败和其他错误

20.升级成功

在源服务器上,设置数据库为状态脱机或设置成只读

21、更新应用程序配置文件

更新所有应用程序配置文件,以反映新的SQL Server名称。

22设置数据库备份执行计划。

参考文档:

https://www.mssqltips.com/sqlservertip/1936/sql-server-database-migration-checklist

https://docs.microsoft.com/en-us/sql/2014-toc/books-online-for-sql-server-2014?view=sql-server-2014

未经允许不得转载:Oracle一体机用户组 » SQL Server升级指南2008~2014

相关推荐