数据库作为核心数据的重要存储,很多时候都会面临数据迁移的需求,例如:业务从本地迁移上云、数据中心故障需要切换至灾备中心、混合云或多云部署下的数据同步、流量突增导致数据库性能瓶颈需要拆分……

本文将会一步步带着大家来操作,实现RDS For SQL Server单库上云。

一 创建RDS For SQL Server实例

打开京东云控制台:https://console.jdcloud.com/ 在左侧导航依次点击数据库库与缓存-云数据库 RDS,选择华北-北京地域后点击创建按钮。



选择计费类型(这里由于测试,选择按配置),如下图选择好配置后点击立即购买



确认订单信息后,点击立即开通,稍等几分钟完成数据库实例的创建



创建账号



创建测试库,并赋予账号读写权限

二 创建本地测试数据

1、创建 Win Server 云主机

根据京东云现有云主机规格,内存最低要求8GB,4GB在安装SQL Server过程中会提示内存不足,所以最低要求:4核8GB

如下图创建Win Server云主机





创建完成后如下图:



2、安装sql Server2016

2.1 JDK下载安装

远程连接Win Server云主机,作为Microsoft向大数据整合靠拢的一部分,在SQL Server 2016中新添加了Polybase的功能,这个功能要求安装Oracle JRE7或更高版本,所以我们要提前安装好jdk,下载地址:

外网:https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/jdk-8u211-windows-x64.exe;

内网(华北-北京):http://pocenv-hcc.s3-internal.cn-north-1.jdcloud-oss.com/jdk-8u211-windows-x64.exe;



其他版本的下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.2 Sql Server2016企业版下载安装

下载Sql Server2016安装镜像,为方便,我已将操作所用的版本镜像上传到了京东云对象存储,下载地址:

外网:https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cn_sql_server_2016_enterprise_x64_dvd_8699450.iso;

内网(华北-北京):http://pocenv-hcc.s3-internal.cn-north-1.jdcloud-oss.com/cn_sql_server_2016_enterprise_x64_dvd_8699450.iso;

其他版本的下载地址:https://msdn.itellyou.cn/ ,如下图:



下载完成后开始安装,我们首先将镜像右击装载,装载完成后双击setup开始安装**



选择【全新SQL Server独立安装或向现有安装添加功能】



如果有密钥可以输入密钥;如果没有的话,可以使用【Evaluation】版本。



接受许可条款后,下一步



全局规则验证



更新推荐



产品更新及安装





安装规则



功能选择

由于是全新安装,所以选择全部功能。



接下来保持默认下一步即可,直到出现如下界面,我们为oa指定密码,采用混合模式配置。添加当前用户到管理员中;



Analysis Services配置

选用表格模式,同样添加当前用户为管理员。



Distributed Replay控制器

为当前用户添加权限



Distributed Replay客户端



同意安装Microsoft R Open





之后默认下一步后开始安装,直到安装完成

注意:安装过程中会卡一段时间,耐心等待即可。





2.3 通过【安装SQL Server管理工具】来安装SSMS



点击后,自动打开SQL Server Management Studio (SSMS) 的下载页,点击如图链接进行下载

SSMS安装包我已提前上传到了京东云对象存储:

内网(华北-北京):http://pocenv-hcc.s3-internal.cn-north-1.jdcloud-oss.com/SSMS-Setup-CHS.exe

外网:https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/SSMS-Setup-CHS.exe



下载完成后,双击开始安装





安装完成



3、模拟本地测试数据

打开Microsoft SQL Server Management Studio 17,连接Sql Server,Ctrl+N调出命令行执行如下操作(每一步操作命令按顺序单独选中后按F5执行):

3.1 创建库

CREATE database testhanchaochao;

3.2 在测试库里创建测试表

 USE testhanchaochao;
CREATE TABLE StuInfo
(
StuID INT, --学生编号
StuName NVARCHAR(20), --学生姓名
Sex NVARCHAR(20) --学生性别
)
BEGIN
DECLARE @DataCount INT = 100; --数据总数
DECLARE @CurrentCount INT =1; --当前条数
DECLARE @Sex NVARCHAR(20); --学生性别 WHILE @CurrentCount<=@DataCount
BEGIN
--先删除旧数据
DELETE StuInfo WHERE StuID = @CurrentCount; --要求:每隔第5条数据时,学生性别为“女”,其余数据为“男”
IF (@CurrentCount%5=0)
BEGIN
SET @Sex = '女';
END
ELSE
BEGIN
SET @Sex = '男';
END; --执行新增操作
INSERT StuInfo VALUES(@CurrentCount,'学生'+ CONVERT(VARCHAR,@CurrentCount),@Sex); --当前条数加一
SET @CurrentCount = @CurrentCount +1;
END;
END;

3.3 查询创建结果

select * from StuInfo;

三 单库上云

1、本地备份

选中刚才创建好的数据库后,右击-任务-备份,如下图:



根据需要更改你的备份目的路径(我选择的是默认路径)

注意:这里要确保恢复模式为完整,具体操作见:https://docs.jdcloud.com/cn/rds/backup-local-database



备份结果如下



2、上传备份

在京东云控制台找到对象存储,新建一个空间后进行上传备份文件的操作





3、导入备份

找到RDS For SQL Server实例,在单库上云选项卡中的选择从OSS导入



配置上文中导入对象存储的数据库备份文件的具体路径

如果文件不存在或者没有足够的权限,会提示错误信息。需要检查文件路径是否正确,Bucket或文件的权限是否正确授予了,具体操作可参考:https://docs.jdcloud.com/cn/rds/grant-file-privilege-v2

确保无误后,点击确定



单库上云过程(状态会从删除变为创建,最后变为运行)



4、验证单库上云结果

通过京东云RDS控制台登陆到RDS For SQL Server数据库后,执行如下命令查看结果:

USE testhanchaochao;
select * from StuInfo;



如上,RDS For SQL Server单库上云演示完成。

点击【阅读】,可了解更多数据库产品信息哦!

欢迎点击“京东云”了解更多精彩内容。

干货 | RDS For SQL Server单库上云的更多相关文章

  1. 强强联合 阿里云 RDS for SQL Server 与 金蝶 K/3 WISE 产品实现兼容适配

    强强联合 阿里云 RDS for SQL Server 与 金蝶 K/3 WISE 产品实现兼容适配,原K/3 WISE用户通过简单配置就可以无缝搭配RDS SQL Server使用,不需再费时费力自 ...

  2. 阿里云重磅发布RDS for SQL Server AlwaysOn集群版

    2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...

  3. sql server单表导入、导出

    sql server单表导入.导出(通过CSV文件) 导出:直接打开查询分析器查询要导出表的信息(select *  from 表),得到的结果全选,右键另存为 xxx.csv文件  (得到该表的所有 ...

  4. 阿里云RDS for SQL Server使用的一些最佳实践

    了解RDS的概念 这也是第一条,也是最重要的一条,在使用某项产品和服务之前,首先要了解该产品或服务的功能与限制,就像你买一个冰箱或洗衣机,通常也只有在阅读完说明书之后才能利用起来它们的所以功能,以及使 ...

  5. SQL Server跨库跨服务器访问实现

    我们经常会遇到一个数据库要访问另一个数据库,或者一台服务器要访问另一台服务器里面的数据库. 那么这个如何实现的呢? 相信看完这篇文章你就懂了! 同一台服务器跨库访问实现 1. 首先创建两个数据库Cro ...

  6. 云计算之路-出海记:建一个免费仓库 Amazon RDS for SQL Server

    上周由于园子后院起火,不得不调兵回去救火,出海记暂时停更,这周继续更新,"出海记"记录的是我们在 AWS 上建设博客园海外站的历程. 在这一记中记录的是我们基于 AWS 免费套餐( ...

  7. 使用阿里云RDS for SQL Server性能洞察优化数据库负载-初识性能洞察

    简介 数据库性能调优通常需要较高数据库水平,并伴随较多的前期准备工作,比如收集各种性能基线.不同种类的性能指标.慢SQL日志等,这通常费时费力且效果一般,当面对多个数据库时总体拥有成本会大幅增加.今天 ...

  8. SQL Server跨库复制表数据错误的解决办法

    SQL Server跨库复制表数据的解决办法   跨库复制表数据,有很多种方法,最常见的是写程序来批量导入数据了,但是这种方法并不是最优方法,今天就用到了一个很犀利的方法,可以完美在 Sql Serv ...

  9. SQL Server 跨库复制表方法小笔记

    insert into tableA (column1,column2.....) SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=127. ...

随机推荐

  1. Nexus-vPC相关特性

    vPC Peer-switch: 不开启这功能,只有Primary设备发送BPDU,开启之后,将会把这一对设备呈现为一个STP Root,使用一个MAC地址,那么都可以发送BPDU了.STP BPDU ...

  2. 关于 UIDatePicker 在iOS9 系统上的一个坑

    在使用 UIDatePicker时,在iOS9系统上上遇到一个很奇怪的问题,在其他系统版本中没发现,设置年月日格式显示的视图,在iOS9设备上出现中间月份无法显示的问题: 检查代码没问题,这个视图是使 ...

  3. org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown database 'jdsc')

    org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown databas ...

  4. Binary Heap(二叉堆) - 堆排序

    这篇的主题主要是Heapsort(堆排序),下一篇ADT数据结构随笔再谈谈 - 优先队列(堆). 首先,我们先来了解一点与堆相关的东西.堆可以实现优先队列(Priority Queue),看到队列,我 ...

  5. jquery 判定checkbox是否选中

    CheckBox 判定是否选中 使用 attr('checked')来做判别是不行的,除非所有的选中取消都是使用这个属性来处理. 正确的做法是使用 .prop('checked') 来判定.

  6. Python开发个人专属表情包网站

    “表情包”是一种利用图片来表示感情的一种方式.表情包是在社交软件活跃之后,形成的一种流行文化,表情包流行于互联网上面,基本人人都会发表情. 曾经你是否也有过找不到表情包去应对别人的时候. 今天小编分享 ...

  7. Preparing for the interview of FLAG and USDA

    7,Dynamic Programming 1,Unique Paths A robot is located at the top-left corner of a m x n grid (mark ...

  8. vue注册全局过滤器

    1.src目录下创建filter文件 /** * 男女 * @param val * @returns {string} */ const status = val => { let name ...

  9. MySQL之约束

    目录 约束(CONSTRAINT) mysql中的约束有哪些? 级联操作 产生的原因: 两种级联的定义方式 约束(CONSTRAINT) 什么是约束? ​ 是一种限制,对某一个东西的限制.例如宪法规定 ...

  10. 好用的log打印类

    package com.huawei.network.ott.weixin.util; import android.util.Log; public final class DebugLog { / ...