SqlServer2005复制分类
一: 数据复制角色
复制服务有三个角色,分别是发布服务器,分发服务器和订阅服务器。他们分别做不同的工作。就像我们日常买书和报纸的概念是一样的。
发布服务器: 也称为出版服务器,主要负责数据的发布和出版工作。这个角色就好比我们的出版社或者报社。
分发服务器: 主要负责将发布服务器的内容分发给订阅者。他是连接发布服务器和订阅服务器的桥梁。这个角色就好比我们的邮递员,将书和报纸送到我们的手里。
订阅服务器: 主要负责接收发布的内容。这个角色就好比我们自己订阅书和报纸,是一个订阅者的角色。
二:数据订阅模式
数据订阅的模式有推式订阅和拉式订阅两种。推式订阅主要是分发服务器将数据推给订阅服务器。 拉式订阅是订阅服务器主动向分发服务器取数据。
这就好比我们自己订阅杂志和报纸一样,如果人家送货上门,这就是推式订阅,消耗的是分发服务器的资源,也就是消耗送货人员的资源。如果是拉式订阅,我们就需要自己到书店去购买,这样消耗的就是我们自己的资料。消耗的是订阅服务器的资源,
三:数据发布类型
数据发布类型可发为四种:
快照发布
发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照。
当符合以下一个或多个条件时,使用快照复制本身是最合适的:
●很少更改数据。
● 在一段时间内允许具有相对发布服务器已过时的数据副本。
●复制少量数据。
●在短期内出现大量更改
事务发布
在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。
具有可更新订阅的事务发布
在 SQL Server 订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。来自订阅服务器的事务被应用于发布服务器。
上述的这两种发布方式可以归结为一种发布方式。不同之处在:事务发布类型下,在订阅服务器上发生的任何改变将不会应用到发布服务器上;
而“具有可更新订阅的事务发布”类型,订阅服务器上的任何操作将会同步到发布服务器上。
事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制:
●希望发生增量更改时将其传播到订阅服务器。
●从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。
●应用程序需要访问中间数据状态。例如,如果某一行更改了五次,事务性复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。
●发布服务器有大量的插入、更新和删除活动。
合并发布
在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据。更改会定期合并。Microsoft SQL Server Compact Edition 只能订阅合并发布。
合并复制通常用于服务器到客户端的环境中。合并复制适用于下列各种情况:
● 多个订阅服务器可能会在不同时间更新同一数据,并将其更改传播到发布服务器和其他订阅服务器。
● 订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。
●每个订阅服务器都需要不同的数据分区。
●可能会发生冲突,并且在冲突发生时,您需要具有检测和解决冲突的能力。
●应用程序需要最终的数据更改结果,而不是访问中间数据状态。例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器上的行更改了五次,则该行在发布服务器上仅更改一次来反映最终数据更改(也就是第五次更改的值)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器