SQLServer 发布订阅(Replication)造成的Memroy压力(cmemthread等待)
深入了解下发布订阅:
数据复制:允许一个数据源向一个或多个目标数据库分发数据,只需要OLE DB 访问接口即可访问;
整个复制框架包含:复制组件,复制代理,复制类型;
复制组件:
发布服务器:发布服务器是使用数据复制到可用的其他数据库服务器;跟踪数据的更改和维护其他源数据库信息;
分发服务器: 分发复制数据库的服务器,存储分发数据库,元数据,历史数据(事务复制)事务;
订阅服务器:是复制的目标服务器,复制数据库的接收和更新,订阅服务器也能更改数据(合并复制),可以将数据发布到多个订阅服务器;
项目 是复制的基本单元
项目包含一下:
完整的表、表的某些列、表的某些行、表的子集、视图、索引视图、用户自定义函数、存储过程;
也包含是否复制架构对象:架构对象包含约束,索引,触发器,排序规则,扩展属性,
不能包含系统数据库(master,model,msdb,tempdb)
复制代理:
快照代理(snapshot.exe)创建数据库快照,包含架构和数据,这是为分发数据库而提供的,负责分发数据库的更新状态信息;每一个发布服务器都有一个连接分发服务器的快照代理,适用于各类型的复制;
分发代理(distrib.exe)将来自快照复制的数据库或来自事务复制的事物到订阅服务器如果代理运行到分发服务器上,则是推送订阅,代理运行到订阅服务器上,则用于请求订阅,当然合并代理除外;
合并复制(replmerg.exe)运行到发布和订阅服务器上,当同步数据更新时,发生冲突时,将使用冲突解决程序设置的规则来解决,仅用于合并复制;
日志代理读取(logread.exe)从发布服务器上事务日志将标记复制的事物移动到分发服务器,+

SQLServer 发布订阅(Replication)造成的Memroy压力(cmemthread等待)的更多相关文章
- SqlServer发布订阅
我们在开发系统的时候,经常会遇到高并发的问题,还有高可用性和安全性方面的考虑,需要用读写分离的方案来解决问题.也就是在我们使用数据库比较多,更新少而查询比较多的情况下使用读写分离,实现提高性能,减少数 ...
- SqlServer发布订阅错误收集
原文:SqlServer发布订阅错误收集 目录 1. SqlServer发布订阅错误收集 1.1. Message:脚本对于表"dbo.table"失败. 1.1.1. 错误消息 ...
- 知方可补不足~Sqlserver发布订阅与sql事务的关系
回到目录 前几讲说了一下通过sqlserver的发布与订阅来实现数据的同步,再通过EF这个ORM架构最终实现架构系统的读写分离,而在使用发布与订阅来实现数据同步时,需要我们注意几点,那就是当操作被使用 ...
- javascript中的发布订阅模式与观察者模式
这里了解一下JavaScript中的发布订阅模式和观察者模式,观察者模式是24种基础设计模式之一. 设计模式的背景 设计模式并非是软件开发的专业术语,实际上设计模式最早诞生于建筑学. 设计模式的定义是 ...
- 最简单的SQLserver,发布订阅教程,保证一次就成功
最简单的SQLserver,发布订阅教程,保证一次就成功 发布订阅用来做数据库的读写分离,还是很好用的 当单台数据库的压力太大时,可以考虑这种方案,一主多从,主服务器的数据库只管写入,其他的数据库都是 ...
- sqlserver 实时同步(发布订阅)
配置发布订阅手册 不同版本须知:https://www.sqlmanager.net/en/articles/1548 向后兼容性:参考https://docs.microsoft.com/zh-cn ...
- sqlserver关于发布订阅replication_subscription的总结
(转载)sqlserver关于发布订阅replication_subscription的总结 来自 “ ITPUB博客 ” ,原文地址:http://blog.itpub.net/30126024/v ...
- 使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
最近给客户做了基于SQLServer的发布订阅的“读写分离”功能,但是某些表数据很大,经常发生某几条数据丢失的问题,导致订阅无法继续进行.但是每次发现问题重新做一次发布订阅又非常消耗时间,所以还得根据 ...
- SQLServer 2008 R2 发布订阅配置指南
原以为配置SQLServer 2008 R2的发布订阅很简单,实际配置后才发现过程中有问题地方一直都没搞明白,最后经过几天的查找问题和实践,终于搞定了.现将过程记录如下. SQLServer 2008 ...
随机推荐
- 对于vue.js初步了解
由于本人做的是javaWeb的开发,对于前端的了解还是有限,今天对于vue.js了解了下(主要是看官方api),把自己的心得说一下,希望各位大神可以补充,谢谢 http://www.runoob. ...
- python中namedtuple介绍
namedtuple:namedtuple类位于collections模块,有了namedtuple后通过属性访问数据能够让我们的代码更加的直观更好维护.namedtuple能够用来创建类似于元祖的数 ...
- 使用milang出错:LookupError: unknown encoding: idna
今天同事安装了milang,结果发现例如以下出错: Traceback (most recent call last): File "F:\vmid.py", line 11, i ...
- 基于FPGA的图像显示
基于FPGA的图像显示 作者:lee神 这几天一直在调试FPGA的图像显示系统,今天终于成功,图像不在闪烁,也不再边框缺失. 基于FPGA的图像处理的第一课应该是基于FPGA的图像显示,只有图像正常显 ...
- 基于低代码平台(Low Code Platform)开发中小企业信息化项目
前言:中小企业信息化需求强烈,对于开发中小企业信息化项目的软件工作和程序员来说,如何根据中小企业的特点,快速理解其信息化项目的需求并及时交付项目,是一个值得关注和研讨的话题. 最近几年来,随着全球经济 ...
- Can't update: no tracked branch No tracked branch configured for branch dev.
1.git pull 命令出现以下错误 $ git pull There is no tracking information for the current branch. Please speci ...
- 使用Flink时从Kafka中读取Array[Byte]类型的Schema
使用Flink时,如果从Kafka中读取输入流,默认提供的是String类型的Schema: val myConsumer = new FlinkKafkaConsumer08[String](&qu ...
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- Android Weekly Notes Issue #288
Android Weekly Issue #288 December 17th, 2017 Android Weekly Issue #288 本期内容主要包括介绍Kotlin DSL使用kotlin ...
- verilog抓外部低频输入信号的上升沿和下降沿
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7220107.html 作者:窗户 Q ...