Azure SQL Database (22) 迁移部分数据到Azure Stretch Database
《Windows Azure Platform 系列文章目录》
Azure SQL Database (19) Stretch Database 概览
Azure SQL Database (20) 使用SQL Server 2016 Upgrade Advisor
Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里
Azure SQL Database (22) 迁移部分数据到Azure Stretch Database
在之前的文档中,笔者介绍了如何迁移一张表的所有数据,到云端Stretch Database
Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里
在这里,笔者介绍如何将一张表里的部分数据,迁移到云端Stretch Database里。
更多的内容,请参考MSDN文章:https://msdn.microsoft.com/en-us/library/mt613432.aspx
准备工作:
1.如果你已经开始之前的练习,请删除之前在本地的Sample Database:AdventureWorks2016CTP3
2.登陆Azure China管理平台:https://manage.windowsazure.cn/,删除Stretch Database
3.重新还原AdventureWorks2016CTP3
基本定义:
我们可以在本地SQL Server 2016,创建以下方法Function
CREATE FUNCTION dbo.fn_stretchpredicate(@column1 datatype1, @column2 datatype2 [, ...n])
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN SELECT AS is_eligible
WHERE <predicate>
返回值:
如果返回的值为非空(non-empty)的话,则这些返回结果会被迁移到云端Stretch Database。
剩下的值(即不在这些返回值中的内容),则会保留在本地SQL Server 2016
条件:
这里的条件,就是<predicate> 参数。
我们还是以数据库AdventureWorks2016CTP3,表Sales.OrderTracking为例。
1.首先打开本地计算机的SQL Server Management Studio(SSMS),运行以下脚本:
USE AdventureWorks2016CTP3
--Review the Data
SELECT COUNT(*) FROM Sales.OrderTracking WHERE TrackingEventID <=
--Review the Data
SELECT COUNT(*) FROM Sales.OrderTracking WHERE TrackingEventID >
可以看到,TrackingEventID <= 3的数据量为。TrackingEventID>3的数据量为。图略。
接下来的几个步骤,同之前的文档,主要作用是设置和打开归档功能。
--对本地SQL Server ,打开归档功能
EXEC sp_configure 'remote data archive' , '';
RECONFIGURE; --对云端Azure SQL Database的用户名和密码,进行加密,加密的密码同SQL Database的密码:
USE Adventureworks2016CTP3;
CREATE MASTER KEY ENCRYPTION BY PASSWORD='Abc@123456'
CREATE DATABASE SCOPED CREDENTIAL AzureDBCred WITH IDENTITY = 'sqladmin', SECRET = 'Abc@123456'; --将本地的SQL Server 2016的归档目标,指向到微软云SQL Database Server(l3cq1dckpd.database.chinacloudapi.cn)
--这个l3cq1dckpd.database.chinacloudapi.cn,是我们在准备工作中,创建的新的服务器
ALTER DATABASE [AdventureWorks2016CTP3] SET REMOTE_DATA_ARCHIVE = ON
(SERVER = 'l3cq1dckpd.database.chinacloudapi.cn', CREDENTIAL = AzureDBCred);
2.然后我们计划把TrackingEventID <= 3的值(一共行),都保存到云端Stretch Database。
3.我们在本机SSMS,执行以下T-SQL语句。创建FUNCTION
--Create Function
CREATE FUNCTION dbo.fn_stretchpredicate(@status int)
RETURNS TABLE WITH SCHEMABINDING AS
RETURN SELECT AS is_eligible WHERE @status <= ;
4.开始迁移数据表中的部分数据
--Migrate Some Data to the Cloud
ALTER TABLE Sales.OrderTracking SET (REMOTE_DATA_ARCHIVE = ON (
MIGRATION_STATE = OUTBOUND,
FILTER_PREDICATE = dbo.fn_stretchpredicate(TrackingEventId)));
5.我们可以执行以下语句,查看归档数据迁移的进度
SELECT * from sys.dm_db_rda_migration_status
6.等待一段时间后,我们可以执行以下T-SQL语句
USE AdventureWorks2016CTP3
GO
--显示本地数据行和数据容量
EXEC sp_spaceused 'Sales.OrderTracking', 'true', 'LOCAL_ONLY';
GO --显示云端Stretch Database的数据行和数据量
EXEC sp_spaceused 'Sales.OrderTracking', 'true', 'REMOTE_ONLY';
GO
执行结果:
如上图所示:Sales.OrderTracking保存在本地的数据有94426行
Sales.OrderTracking保存在云端Stretch Database的数据有94364行
参考资料:https://msdn.microsoft.com/en-us/library/mt613432.aspx
Azure SQL Database (22) 迁移部分数据到Azure Stretch Database的更多相关文章
- Oracle GoldenGate 支持 从SAP HANA database抽取或者复制数据到SAP HANA database 吗?
Oracle GoldenGate 支持 从SAP HANA database抽取或者复制数据到SAP HANA database 吗? 来源于: Does Oracle GoldenGate Su ...
- Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- Azure SQL Database (19) Stretch Database 概览
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- Azure SQL Database (20) 使用SQL Server 2016 Upgrade Advisor
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- 迁移 SQL Server 数据库到 Azure SQL 实战
最近有个维护的项目需要把 SQL Server 2012 的数据库迁移到 Azure SQL 上去,迁移过程可谓一波三折,故在此分享这次迁移中碰到的点点滴滴,希望对朋友们有所帮助. 文章来源:葡萄城产 ...
- 迁移 SQL Server 到 Azure SQL 实战
最近有个维护的项目需要把 SQL Server 2012 的数据库迁移到 Azure SQL 上去.主要是因为租用的主机到期,而运营商停止了主机租赁业务,看来向云端的迁移是大势所趋啊!经过一番折腾最终 ...
- 将 Azure SQL 内数据下载到本地,满足企业的「数据收集」
嫌长不看版 本文介绍了通过复制和导出两个操作,将 Azure SQL 数据库中的内容转移至其他位置(例如本地环境)的具体做法.借此可以帮助用户在 Azure 中运行数据库的同时,在本地或指定的其他位置 ...
- 价格更低、SLA 更强的全新 Azure SQL 数据库服务等级将于 9 月正式发布
继上周公告之后,很高兴向大家宣布更多好消息,作为我们更广泛的数据平台的一部分, 我们将在 Azure 上提供丰富的在线数据服务.9 月,我们将针对 Azure SQL 数据库推出新的服务等级.Azur ...
- 使用SSMS 2014将本地数据库迁移到Azure SQL Database
使用SQL Server Management Studio 2014将本地数据库迁移到Azure SQL Database的过程比较简单,在SSMS2014中,有一个任务选项为“将数据库部署到Win ...
随机推荐
- Ubuntu菜鸟入门(五)—— 一些编程相关工具
一.sublime text3 sudo add-apt-repository ppa:webupd8team/sublime-text- sudo apt-get update sudo apt-g ...
- SGIP、SMGP 长短信发送问题小结
长短信发送问题.1.将信息长度拆开发送.2.为了解决长短信拆分发送,在手机终端,收到的顺序错乱,所以在每一段短信发送完成后,延时5秒,这样在手机终端客户收到的信息,就会按照拆分的顺序发送. //信息总 ...
- github push时,要求密码的问题
整几次才搞的有点明白: 1 clone 项目 用 SSH: 在github 上如下图 2 C:\Users\<用户名> 下如果有 "_netrc" 文件: 如果含有 如 ...
- Nodemanager Out of heap memory[fix bug全过程]
问题: 自己写了一个yarn上的application,发现nodemanager过段时间,会out of memory退出,把nodemanager的heap memory从1G增大到2G也是无法避 ...
- 图的基本遍历算法的实现(BFS & DFS)复习
#include <stdio.h> #define INF 32767 typedef struct MGraph{ ]; ][]; int ver_num, edge_num; }MG ...
- 单链表、循环链表的JS实现
数据结构系列前言: 数据结构作为程序员的基本知识,需要我们每个人牢牢掌握.近期我也展开了对数据结构的二次学习,来弥补当年挖的坑...... 当时上课的时候也就是跟着听课,没有亲自实现任何一种数据结 ...
- postman测试接口之POST提交本地文件数据
前言: 接口测试时,有时需要读取文件的数据:那么postman怎么添加一个文件作为参数呢? 实例: 接口地址: http://121.xxx.xxx.xxx:9003/marketAccount/ba ...
- C#输出文本树形层次,前或者后自定义空格位数
Indent String with Spaces This example shows how to indent strings using method for padding in C#. T ...
- python基础之day2
python基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统 ...
- 异常处理_Maven多模块web项目整合ssm+dubbo
异常如下: [ERROR][org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader. ...