当前位置: 首页 > news >正文

网站维护的作用每天新闻早知道

网站维护的作用,每天新闻早知道,海口智能建站详情,凡科登陆网站手机版SQL Server 中心订阅模型(多发布单订阅) 原文:SQL Server 中心订阅模型(多发布单订阅)大多数SQL Server 复制拓扑都是基于中心发布模型,它是由一个发布复制到一个或者多个订阅。另一个复制模型是中心订阅模型&#xff…
SQL Server 中心订阅模型(多发布单订阅)
原文:SQL Server 中心订阅模型(多发布单订阅)

大多数SQL Server 复制拓扑都是基于中心发布模型,它是由一个发布复制到一个或者多个订阅。另一个复制模型是中心订阅模型,它使用事务复制由多个发布复制到一个订阅中。



中心订阅模型用于从多个数据源中合并数据,例如:

》从多个数据仓库中汇总库存到企业总部的中心服务器;

》同一个公司中从持续发送远程办公数据到中心办公系统中;

》合并订单信息到同一个地方集中处理。


默认情况下,订阅通过快照代理初始化生成快照并被分发代理应用。当快照被应用时,默认情况 项目(article)属性 “名称已被使用时的操作(Action if name is in use)" 设置为 "删除先有对象并重新创建(Drop existing object and create a new one)" ,意思是当订阅中存在目标表对象时将被删除,并重新创建该对象。在中心订阅模型中,当从多个发布中应用快照时这种设置是有问题的。第一个快照应用是正常的,后续的快照应用时将会清除掉前一个快照的数据。


解决这个问题的方法是水平分区,设置静态行筛选器,设置属性 “名称已被使用时的操作”为 “删除数据,如果目标有行筛选器,仅删除与该筛选器匹配的数据(Delete data,If article has a row filter, delete only data that matches the filter)


现在,本人使用2个分库数据,合并到另一个数据库中:



【设置水平分区标志】

默认情况下,表结构如下:

CREATE TABLE [dbo].[DemoTab]([id] [int] IDENTITY(1,1) NOT NULL,[name] [varchar](10) NOT NULL,[value] [decimal](18, 4) NULL,CONSTRAINT [PK_DemoTab] PRIMARY KEY CLUSTERED ([id] ASC)
)
GO

如果这样,id 自增量肯定有重复键,因此增加一个标志列 [LocationID],并如 id 列作为组合键。如下,分别在两个发布数据表中创建表。

--数据库:[TestDBSubA]
USE [TestDBSubA]
GO
CREATE TABLE [dbo].[DemoTab]([id] [int] IDENTITY(1,1) NOT NULL,[name] [varchar](10) NOT NULL,[value] [decimal](18, 4) NULL,[LocationID] INT NOT NULL DEFAULT(1)CONSTRAINT [PK_DemoTab] PRIMARY KEY CLUSTERED ([id] ASC,[LocationID] ASC)
)
GO--数据库:[TestDBSubB]
USE [TestDBSubB]
GO
CREATE TABLE [dbo].[DemoTab]([id] [int] IDENTITY(1,1) NOT NULL,[name] [varchar](10) NOT NULL,[value] [decimal](18, 4) NULL,[LocationID] INT NOT NULL DEFAULT(2)CONSTRAINT [PK_DemoTab] PRIMARY KEY CLUSTERED ([id] ASC,[LocationID] ASC)
)
GO

此时就可以使用字段 [LocationID] 来确定是不同数据库的数据了,在同一个订阅表中就不会有主键重复问题了。但是当在其中一个发布初始化时,或者操作数据时,怎么区分来自不同的发布数据库的数据呢?接下来设置静态行筛选器,非常重要!


【设置静态行筛选器】

此时可以在 数据库 [TestDBSubA] 或 [TestDBSubB] 的服务器中创建发布了,使用的是事务复制,选择需要发布的表,如下图:


下一步,设置行筛选器,筛选条件为 [LocationID]=1(这个是数据库 [TestDBSubA] 的发布),同理设置 [TestDBSubB] 的发布!




接下来一步步完成即可。还有一步重要的设置,发布表对象的属性。其实在上一步在操作中也可以设置。


【设置表项目的应用属性】

右键刚创建完成的发布,选择属性,选择项目,可以选择设置一个表或者所有表。如图:



选择设置所有表,设置属性 “名称已被使用时的操作”为 “删除数据,如果目标有行筛选器,仅删除与该筛选器匹配的数据(Delete data,If article has a row filter, delete only data that matches the filter)


设置完成后确定推出!

同理设置 [TestDBSubB] 的发布!(注意 [LocationID] = 2)


订阅正常设置,两个发布的订阅都是同一个数据库。


先后分别初始化应用快照,正常!




现在测试,分别在两发布数据库中插入数据。

INSERT INTO [TestDBSubA].[dbo].[DemoTab]([name],[value]) SELECT 'TestDBSubA',0
INSERT INTO [TestDBSubB].[dbo].[DemoTab]([name],[value]) SELECT 'TestDBSubB',0SELECT * FROM [TestDB].[dbo].[DemoTab]


结果合并了!!所有DML操作正常同步!数据可以正常操作同步,但是字段增删改则有问题!!



posted on 2018-01-26 17:52 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/8360757.html

http://www.lbrq.cn/news/2608525.html

相关文章:

  • 网站建设与运营考试营销策划书模板范文
  • 婚庆公司网站模板如何网页优化
  • 做网站需要些什么西安seo排名公司
  • 钱包网站开发产品线上营销方案
  • 网站图片轮播怎么做宁波网站制作设计
  • html5制作网站首页太原建站seo
  • 温州网站关键词排名优化班级优化大师下载安装最新版
  • 域名邮箱和域名网站开发软件app需要多少钱
  • 主题网站建设软文推广的100个范例
  • 自己做的网站怎么设置文件下载星链友店
  • 多人在线协作网站开发百度一键优化
  • 上海网站建设宣传网络营销的策略
  • 山东省建设部网站官网搜索引擎收录入口
  • 西宁市建设网站企业百度云官网登录入口
  • 快手里做网站荣耀封面的视频优化网站教程
  • 网站怎么做电子合同活动营销方案
  • 网站做百科优化人员配置
  • 广西建设协会网站首页百度实时热点排行榜
  • 做加盟网站哪个最好搜索百度指数
  • 网站主服务器所在地地址游戏推广论坛
  • 佛山做外贸网站案例每日新闻快报
  • 站酷设计官方网站站长统计app进入网址新版小猪
  • 酉阳网站制作厦门最好的seo公司
  • 杭州网站搭建青柠影院免费观看电视剧高清
  • 怎样做网站发布信息semantic
  • 网站手机模板的特点美国seo薪酬
  • 网站维护的重要性如何写营销软文
  • 营销型网站建设风格设定seo排名软件免费
  • WordPress用oss内网seo关键词排名优化报价
  • 网站设计主要包括哪些步骤网络推广哪个平台好
  • FastDeploy2.0:报qwen2.embed_tokens.weight
  • 3. 为什么 0.1 + 0.2 != 0.3
  • Ethereum:智能合约开发者的“瑞士军刀”OpenZeppelin
  • python包管理器uv踩坑
  • Java 大视界 -- Java 大数据在智能教育学习资源个性化推荐与学习路径动态调整中的深度应用(378)
  • ThinkPHP5x,struts2等框架靶场复现