概述

本篇我们将利用DMA一步一步实现SQL Server 的迁移。帮助大家理解现在的SQL Server与新版本的融合问题,同时需要我们做哪些操作来实现新版本的升级或者迁移。

SQL Server 迁移

一定要有一个准备好的计划,我下面列出了所有的迁移过程需要做的工作,如下列表:

步骤列表

序号

SQL Server迁移步骤

1

必要环境的准备(比如高版本的服务器操作系统)

2

研究弃用和停用的功能、特性

3

运行数据迁移助手(DMA)了解哪些改变不被允许或者会影响迁移。

4

确认SQL Server 服务,数据引擎,SSIS,SSAS,SSRS等等可用

5

排序规则注意一致或者有变更的仔细核对

6

确保应用程序的连接需求

7

日志、聚集、数据库镜像、复制、全文索引、分布式服务等服务类的都需要有计划的去管理迁移。

8

管理有效的连接服务器,迁移

9

备份策略和计划的完整迁移,包含了完整、差别、事务日志备份。

10

规划需要的磁盘空间

11

管理迁移各个服务的账号

12

检查数据一致性

13

预升级--升级前后比较性能指标

14

评估宕机时间及影响

15

定稿升级流程

16

制定升级、迁移的验收标准

17

最终验收

18

回滚计划以及测试

19

务必通知所有涉及和影响的负责人

20

向所有负责人发送升级、迁移的步骤

21

准备新的、或者迁移旧的数据库维护计划

以上的列表就是我的迁移计划中的主要步骤,仅供参考。当然根据不同的环境和使用者的情况,可以调整出一套更适合自己的文档来满足需求,比如升级时的顺序,

手把手教你使用DMA

经过上面,我们直奔主题,讨论如何使用DMA帮助我们初始评估迁移,在正式迁移之前需要一个预估。首先,请到微软的下载中心(https://www.microsoft.com/en-us/download/details.aspx?id=53595),下载最新版本的DMA。然后安装,无论是服务器还是客户机,当你运行DMA后画面如下,当你是第一次打开这个向导时,需要创建一个项目。点击左侧的“+”号


开始屏幕

下一个屏幕中将会有两个选项:

1) Assessment

2) Migration

这里我们选择assessment,因为这时我们是评估并不是真的要迁移。在开始实际迁移之前,我们要评估所有的事实并分析报告。发现潜在的问题。

在选择后,你需要制定一个项目名称,比如我这边是从2014升级到2017,SQL2K14toSQL2K17。

在剩下的部分,你需要选择自己的源和目标服务器选择类型:

源数据库类型即你计划迁移、升级的数据源类型,我这里选择的是SQL Server,当然也是支持其他类型数据源的。

目标服务器类型只能选择SQL Server 或者Azure DataBase。我选择的是SQL Server。

完成所有选型后,点击创建按钮

这里将会创建你的评估项目,并且打开一个新的屏幕。新屏幕上将给你一个选项来选择目标数据库版本。我选的是2017。这里版本基于你的目标服务器类型。如果选择Azure服务器将会是Azure的版本,

让我们继续,选择多选框,这里选中兼容性问题和新特性推荐。Check feature parity不能选择是因为这个选项是专门为Linux 上的数据库准备的。

接下来,需要连接源数据库的信息和权限。在屏幕下方,看到实例有关权限集的信息。点击Connect按钮连接数据库。

一旦,成功连接,下面就会真是给你可用的数据库。选择数据库评估迁移。这时你已经能够灵活的选择一个还是多个数据库进行迁移。

这里我选择了两个数据库,执行对它们的迁移评估。在点击ADD按钮后,下个界面将会开启迁移评估。

评估时间取决于你的数据库大小,在下个界面,你会看到评估进度。

最后DMA完成所有评估,下图展示界面会展示评估结果。这个界面提供了情报信息帮助了解当前迁移的状况。包含了很多实际迁移中会触发的信息。

DMA提供了一个选项导出评估报告,两种格式; 1. JSON 2. CSV。这也简化了我们制作评估的难度,方便给其他人看。

保存结果。迁移与评估操作基本类似这里就不在重复操作了。

总结

DMA是一个强大的工具,能够评估SQL Server 升级和迁移到更高版本,从而满足公司和业务的需要。这个工具帮助迁移SQL Server到本地服务器或者是Azure上服务器。本篇我们一起一步一步的执行了整个SQL Server 2014 到 SQL Server 2017的迁移。按照我之前所列的步骤将其他任务依次完成,最后我这边完整升级了整个系统并没有出现其他问题。希望大家也能完美升级,不出bug。

迁移数据库数据到SQL Server 2017的更多相关文章

  1. SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION”

    SQL Server 2017的Linked Server配置触发的bug"Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION&q ...

  2. Oracle 迁移某用户的数据到Sql Server

    准备条件: 1.Oracle11g数据库 2.Sql Server 2008 3.Microsoft SQL Server Migration Assistant for Oracle 步奏如下: 1 ...

  3. 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

    原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方 ...

  4. 将DataTable 数据插入 SQL SERVER 数据库

    原文:将DataTable 数据插入 SQL SERVER 数据库 以下提供3中方式将DataTable中的数据插入到SQL SERVER 数据库: 一:使用sqlcommand.executenon ...

  5. Excel表数据导入Sql Server数据库中

    Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...

  6. 【SQL Server高可用性】数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表

    原文:[SQL Server高可用性]数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表 经常在论坛中看到有人问数据同步的技术,如果只是同步少量的表,那么可以考虑使 ...

  7. Linux 上的 SQL Server 2017 的安装指南

    一:介绍背景 微软在2016年 3 月首次对外宣布了 Linux 版的 SQL Server,并于2017年 7 月发布了首个公开 RC 版.前几日在美国奥兰多召开的微软 Ignite 2017 大会 ...

  8. SQL Server 2017 正式发布:同时支持 Windows 和 Linux(现在看下来,当年那德拉的“云优先,移动优先”是有远见的,而且是有一系列的措施和产品相配合的,只是需要一点时间而已。真是佩服!!)

    微软在去年 3 月首次对外宣布了 Linux 版的 SQL Server,并于今年 7 月发布了首个公开 RC 版.前几日在美国奥兰多召开的微软 Ignite 2017 大会上,微软宣布 SQL Se ...

  9. Python和SQL Server 2017的强大功能

    Python和SQL Server 2017的强大功能 摘要: 源:https://www.red-gate.com/simple-talk/sql/sql-development/power-pyt ...

随机推荐

  1. 【SqlServer系列】聚合函数

    1   概述 本篇文章简要回顾SQL Server  聚合函数,MAX,MIN,SUM,AVG,SUM,CHECKSUM_EGG,COUNT,STDEV,STDEVP,VAR,VARP. 2   具体 ...

  2. 自学Zabbix3.5.5-监控项item-User parameters(自定义key)

    为什么要自定义KEY,即User parameters功能 有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法.我们可以在客户端配置文件zabb ...

  3. 获取本地ip

    public void GetLocalIP(string username) { List<string> strIPs = new List<string>(); Netw ...

  4. Github-karpathy/char-rnn代码详解

    Github-karpathy/char-rnn代码详解 zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouwan  2016-1-10 ...

  5. github上搜索资源

    1.进入官网 点击Explore 2.点击Trending 3.资源都在这上面,可以根据语言分类 4.搜索链接 https://github.com/trending

  6. python串口调试,M3650B-HA调试

    使用python serial与M3650B-HA(RFID读写器)串口通信 环境:py3.6 模块:pyserial 1.serial模块安装2.废话不多说,直接上代码,测试环境py3.6 # co ...

  7. 安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题

    安装cocoa pods时, 在命令行中输入: 安装:sudo gem install cocoapods报Operation not permitted - /usr/bin/xcodeproj这个 ...

  8. Java用代码获取classes目录下的文件的方式

    假设我们有个Maven的Web项目,其中有src/main/java和src/main/resources两个输出目录(注意这两个目录下的内容运行后都会输出到classes目录下), 而在src/ma ...

  9. 谈谈CommonsChunkPlugin抽取公共模块

    引言 webpack插件CommonsChunkPlugin的主要作用是抽取webpack项目入口chunk的公共部分,具体的用法就不做过多介绍,不太了解可以参考webpack官网介绍: 该插件是we ...

  10. bzoj 4444: [Scoi2015]国旗计划

    Description A国正在开展一项伟大的计划--国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这 项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了N名优秀的 ...