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 ...
随机推荐
- oracle函数简析
(一).数值型函数(Number Functions) 数值型函数输入数字型参数并返回数值型的值.多数该类函数的返回值支持38位小数点,诸如:COS, COSH, EXP, LN, LOG, SIN, ...
- SqlLite 基本操作
1.数据类型 ● SQLite将数据划分为以下⼏几种存储类型: ● integer : 整型值 ● real : 浮点值 ● text : ⽂文本字符串 ● blob : ⼆二进制数据(⽐比 ...
- 学习微信小程序之css6
- python urllib
在伴随学习爬虫的过程中学习了解的一些基础库和方法总结扩展 1. urllib 在urllib.request module中定义下面的一些方法 urllib.request.urlopen(url,d ...
- SOAPUI使用教程-REST请求工作
双击一个REST请求在导航打开的REST请求编辑器窗口: 就像相应的SOAP请求编辑器,这个窗口有以下几部分组成: 工具栏在顶部有标准动作的和端口的下拉菜单轻松修改服务端口 请求编辑器左侧有相应编辑视 ...
- C++常用特性原理解析
在我的早期印象中,C++这门语言是软件工程发展过程中,出于对面向对象语言级支持不可或缺的情况下,一群曾经信誓旦旦想要用C统治宇宙的极客们妥协出来的一个高性能怪咖. 它驳杂万分,但引人入胜,出于多(mi ...
- Windows Commands and API
Shortcuts ... Symbolic Links https://en.wikipedia.org/wiki/NTFS_symbolic_link Hard Links https://en. ...
- EF DbContext 并发执行时可能出现的问题
现在许多Web项目都使用了IOC的DI注入组件.其中对象的生命周期管理是非常重要的. 有时我们为了提高请求的响应,经常在请求线程中执行多个子线程,然而忽略了EF的DbContext的生命周期管理. D ...
- linux安装oracle11g
准备oracle安装文件 Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SS ...
- c++书
http://www.enet.com.cn/eschool/video/c++/ 视频 http://www.runoob.com/cplusplus/cpp-inheritance.html ...