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 ...
随机推荐
- HDFS操作
HDFS操作 1.shell 1.1 创建目录 hadoop fs -mkdir 目录名(其中/为根目录) 1.2 遍历目录 hadoop fs -ls 目录名 1.3 删除目录 hadoop fs ...
- Python 学习第十七天 jQuery
一,jQuery 知识详解 利用jquery 查找元素,操作元素 1,jquery 引入 <!DOCTYPE html> <html lang="en"> ...
- Python os模块介绍
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...
- MOD
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2318 ///这是哈理工校 ...
- angularJS- $http请求
angular使用post.get向后台传参的问题 一.问题的来源 我们都知道向后台传参可以使用get.put,其形式就类似于name=jyy&id=001.但是在ng中我却发现使用$http ...
- ajax删除DB数据
1.前台js $().ready(function () { $('[name="checkAll"]').click(function () { if ("checke ...
- mac homebrew的用法
与 MacPorts 类似,OS X 下还有款包管理工具为 Homebrew,安装方法也很简单. ruby -e "$(curl -fsSL https://raw.github.com/H ...
- 【转】iOS学习之translucent属性
原文地址:http://www.jianshu.com/p/930643270455 总所周知,苹果从iOS7开始采用扁平化的界面风格,颠覆了果粉们"迷恋"的拟物化风格.对于开发者 ...
- Ajax跨域问题的两种解决方法
浏览器不允许Ajax跨站请求,所以存在Ajax跨域问题,目前主要有两种办法解决. 1.在请求页面上使用Access-Control-Allow-Origin标头. 使用如下标头可以接受全部网站请求: ...
- 【填坑】bzoj3224 splay裸题
人生第一道splay不出所料是一道裸题,一道水题,一道2k代码都不到的题 #include <cstdio> ,n,p,q; ],c[][],size[],sp[]; void rot(i ...