【数据库-Azure SQL Database】如何创建事务复制将本地数据同步到 SQL Azure
Azure SQL DB 可以被配置成为 SQL Server 事务复制的一个订阅者( subscriber )。
主要应用场景有两种:
- 将您的数据迁移到 Azure SQL DB, 并且没有宕机时间。
- 将 Azure SQL DB 作为 SQL on-premises / on VMs 的一个备份或只读实例。
我们扩展了已有的事务复制逻辑以使得 Azure SQL DB 可以成为一个事务复制订阅者。 从使用的体验上来说,能够察觉到的唯一的区别是在你创建一个订阅者的时候:你需要提供 Azure SQL DB 的 URL 而非一台 server 或者一个实例的名字。如果您已经知道了怎么使用事务复制,那么在 Azure SQL DB 上面使用这个功能的学习成本几乎为 0,意味着您将有一种无缝的体验。将数据复制到 Azure SQL DB 上将会变得非常轻松和便捷。当发布服务器和分发服务器至少是以下 SQL Server 版本之一时,支持此方案:
- SQL Server 2016 CTP3(预览版)和更高版本
- SQL Server 2014 SP1 CU3 和更高版本
- SQL Server 2014 RTM CU10 和更高版本
- SQL Server 2012 SP2 CU8 和更高版本
- SQL Server 2012 SP3(发行时)
它是如何工作的呢?
数据的复制实际上是通过分发代理( Distribution Agent )完成的。
下面的这张表展示了整体的架构:
注意事项:
- 只支持 Snapshot 及单向的事务( onpromise sql 到 sql azure )复制. 不支持 Peer-to-peer transactional replication 及 merge replication。
- 只提供 SQL Azure V12 的支持。
- 无法通过 SQL Database 门户来配置事务复制。
- 复制只能使用 SQL Server 身份验证方式登录连接到 SQL DB。
- 只支持 push subscription。
- 被复制的表必须要有主键。
下面的例子展示如何用 SQL Server Management Studio 将 Azure SQL DB 配置成为一个事务复制订阅者。
- 创建一个新的事务复制。
右键 Replication 下的 Local Publication,并选择 New Publication Wizard,会调出新建复制向导。 - 选择 Snapshot publication 或者 Transactional publication, 本示例以 Transactional publication 为例
- 完成向导中的后续步骤,创建一个复制。
- 创建一个新的订阅。
右键刚刚创建的发布,选择 New Subscriptions,调出新建订阅向导。 - 完成向导中所需步骤,在下图 Subscribers 页面,点击 Add Subscriber -> Add SQL Server Subscriber。
- 输入所需的信息,连接到 Azure SQL DB。
- 选择一个 Subscription Database 来接受复制内容。
- 完成向导的余下部分,创建订阅。
- 创建订阅后,可以看到改订阅出现在之前创建的发布下。
在同步完成后,我们来验证一下复制是否生效。
向 SQL Server 发布的这张表中插入数据后,等复制发生之后,发现插入的数据出现在了 Azure SQL DB 指定的表中。
【数据库-Azure SQL Database】如何创建事务复制将本地数据同步到 SQL Azure的更多相关文章
- SQL Server 事务复制分发到订阅同步慢
原文:SQL Server 事务复制分发到订阅同步慢 最近发现有一个发布经常出现问题,每几天就出错不同步,提示要求初始化.重新调整同步后,复制还是很慢!每天白天未分发的命令就达五六百万条!要解决慢的问 ...
- Azure SQL Database (27) 创建Table Partition
<Windows Azure Platform 系列文章目录> 昨天客户正好提到这个问题,现在记录一下. 我们在使用传统的SQL Server,会使用Table Partition,这个功 ...
- domino数据同步到sql server
近期有个需求,要同步domino数据到selservlet数据库,查看几年前ls使用odbc写的同步功能,还能正常使用.而且加入读者域进去功能(之前没有这个需求).改进成网页配置版本号(曾 ...
- SQL Server 2008复制发布订阅(数据同步)
数据库同步问题 1.有一台主数据库服务器A和另外一台数据库服务器B,客户端首先访问数据库B,当B数据库服务器挂掉时就访问A,当对数据库B进行DML操作时,同时对A进行更新,如果A与B之间通讯失败,则将 ...
- [SDK2.2]Windows Azure Storage (15) 使用WCF服务,将本地图片上传至Azure Storage (上) 服务器端代码
<Windows Azure Platform 系列文章目录> 这几天工作上的内容,把项目文件和源代码拿出来给大家分享下. 源代码下载:Part1 Part2 Part3 我们在写WEB服 ...
- [SDK2.2]Windows Azure Storage (16) 使用WCF服务,将本地图片上传至Azure Storage (上) 客户端代码
<Windows Azure Platform 系列文章目录> 前一章我们完成了服务器端的代码,并且已经发布到了Windows Azure云端. 本章我们将实现客户端的代码,客户端这里我们 ...
- 多点数据同步服务器sql汇总
1. a表中是否存在c的列 IF COL_LENGTH('FeeType', 'ftName') IS NOT NULL select N'存在'as result ELSE select N'不存在 ...
- Azure SQL Database Active Geo-Replication 简介
对于数据库的维护来说,备份工作可谓是重中之重.MS Azure 当然也提供了很完善的数据库备份功能.但是在动手创建备份计划前请思考一下备份工作的真实目的.当然首先要保证数据的安全,一般来说定时创建数据 ...
- [转]Azure 表存储和 Windows Azure SQL Database - 比较与对照
本文转自:https://msdn.microsoft.com/library/azure/jj553018 更新时间: 2014年10月 作者:Valery Mizonov 和 Seth Manhe ...
随机推荐
- weex 创建项目坑2
安装成功weex 创建项目 weex create my-project 提示 需要安装 weexpack Installing 安装失败 后来卸载weex,重新安装weex 执行下面的命令: ...
- SQL repeat()函数
转自:https://www.yiibai.com/sql/sql-repeat-function.html REPEAT(str,count) 返回一个字符串组成的字符串STR重复的次数.如果计数小 ...
- jQuery.validator.addMethod方法的使用
该方法有三个api接口参数,name,method,messages addMethod(name,method,message)方法 参数 name 是添加的方法的名字. 参数 method 是一个 ...
- 利用python数据分析panda学习笔记之基本功能
1 重新生成索引 如果某个索引值不存在就引入缺失值 from pandas import Series,DataFrame import pandas as pd import numpy as np ...
- TypeScript完全解读(26课时)_11.TypeScript完全解读-类型推论和兼容性
11.TypeScript完全解读-类型推论和兼容性 在一些时候省略指令,ts会帮我们推断出省略的类型的地方适合的类型,通过学习ts的类型推论了解ts的推论规则 类型兼容性就是为了适应js灵活的特点, ...
- POJ - 3494 Largest Submatrix of All 1’s 单调栈求最大子矩阵
Largest Submatrix of All 1’s Given a m-by-n (0,1)-matrix, of all its submatrices of all 1’s which is ...
- ES6笔记总结
常用命令 函数的rest参数和扩展 promise使用 module.exports和Es6 import/export的使用 function sum(x,y,z){ let total = 0; ...
- golang开发:(二)安装 Golang
当然了我们的安装都是在vagrant里面安装,vagrant ssh.不用虚拟机了,本机安装当然也可以. Mac 安装 访问下载地址,下载 go1.12.5.darwin-amd64.pkg,双击下载 ...
- idea ultmate版安装后toolWindows没有database
点击Configure--->plugins将database勾选
- C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小 C 语言实例 C 语言实例 使用 sizeof 操作符计算int, float, double 和 char四种变 ...