概述

本篇我们将利用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. ABP入门系列(9)——权限管理

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 完成了简单的增删改查和分页功能,是不是觉得少了点什么? 是的,少了权限管理.既然涉及到了权限,那我 ...

  2. 如何在华为云软件开发云上搭建JavaWeb,Maven项目

    本文将使用华为云软件开发云向大家演示如何搭建JavaWeb,Maven项目. 一.相关信息 1.华为云软件开发云简介 华为云软件开发云(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研 ...

  3. springboot整合mq接收消息队列

    继上篇springboot整合mq发送消息队列 本篇主要在上篇基础上进行activiemq消息队列的接收springboot整合mq发送消息队列 第一步:新建marven项目,配置pom文件 < ...

  4. MySQL数据库常见操作

    数据库连接与关闭:mysql -h 服务器主机地址 -u 用户名 -p 用户密码 创建新用户并授权:grant 权限 on 数据库.数据表 to 用户名@登录主机 identified by &quo ...

  5. cors解决Web跨域访问问题

    首先了解一下什么是跨域以及解决的几种常见方式. 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相同. 举例: 相对于 ...

  6. Git远程库版本回滚

    在git的一般使用中,如果发现错误的将不想staging的文件add进入index之后,想回退取消,这就叫做git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id.可以使用命令:g ...

  7. 如何录屏制作gif图片

    LICEcap简介: LICEcap是一款屏幕录制制作gif图片的工具,支持导出 GIF 动画图片格式,轻量级.使用简单,录制过程中可以随意改变录屏范围. LICEcap 直观易用,功能灵活,支持 W ...

  8. CKEditor 集成CKFinder集成

    lCKEditor原名FckEditor,著名的HTML编辑器,可以在线编辑HTML内容,演示一下.打开.自己人用CKEditor,网友用UBBEditor. l配置参考文档,主要将ckeditor中 ...

  9. axios配合vue+webpack使用

    1.安装引用: cnpm install axios --save-dev 2.在组件中引入: import axios from 'axios'; 3.使用示例: 执行GET请求: // 为给定 I ...

  10. what is cdecl?

    cdecl这是一个Linux上功能很强大的一个小型程序,它最主要的功能就是能帮助我们解释一个很复杂的C语言声明. 例如,我写了这样一个C语言的一个声明:int   *(*g[])(int , floa ...