概述

本篇我们将利用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. node.js之路由,中间件,ge请求和post请求的参数

    一.路由 1.什么是路由 服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤 2.实现路由的方法 2.1.get请求访问网址时,做什么事 1 app.get(" ...

  2. 八、 Spring Boot 过滤器、监听器

    直接使用@WebFilter和@WebListener的方式,完成一个Filter 和一个 Listener.过滤器(Filter)文件MyFilter.Javapackage org.springb ...

  3. 自学Python5.1-模块简介

    模块简介 在C语言中如果要引用sqrt这个函数,必须用语句"#include<math.h>"引入math.h这个头文件,否则是无法正常进行调用的.那么在Python中 ...

  4. javascript 面向对象设计之 Function 普通类

    var test = "Class01"; function Class01(privateValue, publicValue) { var _this = this; if ( ...

  5. MyBatis_查询缓存01

    一.查询缓存 查询缓存的使用,主要是为了提高查询访问速度.将用户对同一数据的重复查询过程简单化,不在每次均从数据库中查询获取结果数据,从而提高访问速度. MyBatis的查询缓存机制,根据缓存区的作用 ...

  6. 查看和删除chrome浏览器缓存内容

    平时用chrome开发更多,介绍一下如何清除和查看chrome浏览器的缓存内容,其他浏览器大同小异就不细说了 打开设置==>隐私设置和安全性==>内容设置==>cookie ==&g ...

  7. iOS手势冲突问题

    今天在做一个效果的时候,由于子视图和父视图都有响应的事件,子视图的事件理所当然被父视图拦截掉了,接下来就做分析解决 1.  tableviewcell可以触发点击,同时tableview的父视图有点击 ...

  8. 三十天学不会TCP,UDP/IP网络编程-UDP,从简单的开始

    如果对和程序员有关的计算机网络知识,和对计算机网络方面的编程有兴趣,欢迎去gitbook(https://www.gitbook.com/@rogerzhu/)star我的这一系列文章,虽然说现在这种 ...

  9. Redis4.0.0 安装及配置 (Linux — Centos7)

    本文中的两个配置文件可在这里找到 操作系统:Linux Linux发行版:Centos7 安装 下载地址,点这里Redis4.0.0.tar.gz 或者使用命令: wget http://downlo ...

  10. lua中怎么替换掉字符串中的$^特殊字符?

    Lua 常规替换字符串如何替换 s = string.gsub("Lua is good", "good", "bad") print(s) ...