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

本文将会一步步带着大家来操作,实现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. 【原】Jenkins pipeline中资料总结

    docker-compose 快速部署持续集成测试环境 Gitlab+Harbor+Jenkins pipeline 实现 tag run docker Images https://www.cnbl ...

  2. JS 上传图片压缩,原比例压缩

    复制 粘贴 改吧改吧就可用,原生js var fileObj = file.file;//原文件 file是我用vue-vant里的组件,里边有file(原文件)和content(base64) 其它 ...

  3. codeforces Round #611

    这种凌晨场真的折寿 就过了四题,8wa结尾心态炸裂,求别被hack,再hack就要爬了 A2   B8   C38(1)   E1:58(7) D题感觉可以写,但是没有时间看了.幸好E最后发现了自己的 ...

  4. linux 管道相关命令(待学)

    1.1 cut cut:以某种方式按照文件的行进行分割 参数列表: -b 按字节选取 忽略多字节字符边界,除非也指定了 -n 标志 -c 按字符选取 -d 自定义分隔符,默认为制表符. -f 与-d一 ...

  5. Live2d技术

    保存一些关于Live2d技术的博文或模型资源,有空研究研究. 什么是 live2d?:https://baike.baidu.com/item/Live2D/8496493 1.https://www ...

  6. SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xd0 in position 2: invalid continuation byte

    [root@hostuser src]# python3 subprocess_popen.py File "subprocess_popen.py", line 23Syntax ...

  7. 「JSOI2014」序列维护

    「JSOI2014」序列维护 传送门 其实这题就是luogu的模板线段树2,之所以要发题解就是因为学到了一种比较NB的 \(\text{update}\) 的方式.(参见这题) 我们可以把修改操作统一 ...

  8. Java中的基本数据类型语法补充

    变量要先赋值后使用 不给变量赋值代表什么 不赋值就使用会怎样 (会报错) 计算并赋值运算符 作用是为了让代码更加简洁.比如 a = a + 10,可以简化为 a+=10 += -= *= /= %= ...

  9. js 常用字符正则匹配

    写代码时需要js验证密码,百度到的验证方法,图方便保存收藏,如感兴趣请移步原博主博文!http://blog.csdn.net/x_i_y_u_e/article/details/47730135 1 ...

  10. 4 Action的3种编写方式,pojo,实现和继承(推荐)

    Action的访问: 1 Action类是pojo(Plain Ordinary Java Object):简单Java对象,无接口,无继承.例如上篇文章中只创建了public String exec ...