关于sql server2012发布订阅遇到的问题

colin_zyj 2017-06-29 11:57:19
大家好:
我在配置sql server订阅发布的时候遇到了点问题,我的发布订阅现在已经部署完成,但是发现了这样的一个问题:主库有171张表,但从库只有141张表,使用复制监视器查看的时候,代理的状态每次都是生成了141个项目的快照。不明白为什么其余的表没有同步过来,也没有报错。而且这些已同步过来的表在主库上修改数据很快就同步到从库了。但是其余的表和新增的表就无法同步过来。还请大家指导一下,十分感谢
...全文
541 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
0与1之间 2017-06-30
  • 打赏
  • 举报
回复
你可以选SQL代理启动时自动执行,这样数据就可以实时更新 如果要选执行间隔那就看你需求了
colin_zyj 2017-06-30
  • 打赏
  • 举报
回复
引用 12 楼 Merry0101 的回复:
[quote=引用 11 楼 colin_zyj 的回复:]
[quote=引用 9 楼 Merry0101 的回复:]
[quote=引用 5 楼 colin_zyj 的回复:]
[quote=引用 3 楼 Merry0101 的回复:]
发布-属性-项目看下表是否在订阅里

恩, 我看了一下,有好多没有发布过去的表在这里,没有发不成功,是因为这些表没有主键列[/quote]

复制订阅的表都必须要有主键。
新增的表必须加入发布中才能订阅[/quote]
恩,知道了,在发布订阅部署完成后发布库中新增的表需要手动加入到项目中去才可以发布(前提是这些表有主键列)
还有两个问题想请教一下:在设置发布过程中,快照代理的配置运行快照代理的计划时间频率只是快照执行的频率么?跟发布服务器有数据更新往订阅服务器同步的实时性没有关系是吧? 关于发布服务器到订阅服务器数据的更新实时性有相关的设置么?还是会自动触发?[/quote]

创建 发布后代理里都会有对应的作业,属性-计划中有计划类型,数据实时更新选择的应该是代理启动自动执行
也可以根据你的要求选择其它的计划类型[/quote]

是这个复制代理计划吧。只有在执行这个计划的时候才会同步数据么?这个每天的频率如果调整到最快的那种10秒一次会不会对发布服务器产生较大的压力呀
0与1之间 2017-06-30
  • 打赏
  • 举报
回复
引用 11 楼 colin_zyj 的回复:
[quote=引用 9 楼 Merry0101 的回复:] [quote=引用 5 楼 colin_zyj 的回复:] [quote=引用 3 楼 Merry0101 的回复:] 发布-属性-项目看下表是否在订阅里
恩, 我看了一下,有好多没有发布过去的表在这里,没有发不成功,是因为这些表没有主键列[/quote] 复制订阅的表都必须要有主键。 新增的表必须加入发布中才能订阅[/quote] 恩,知道了,在发布订阅部署完成后发布库中新增的表需要手动加入到项目中去才可以发布(前提是这些表有主键列) 还有两个问题想请教一下:在设置发布过程中,快照代理的配置运行快照代理的计划时间频率只是快照执行的频率么?跟发布服务器有数据更新往订阅服务器同步的实时性没有关系是吧? 关于发布服务器到订阅服务器数据的更新实时性有相关的设置么?还是会自动触发?[/quote] 创建 发布后代理里都会有对应的作业,属性-计划中有计划类型,数据实时更新选择的应该是代理启动自动执行 也可以根据你的要求选择其它的计划类型
colin_zyj 2017-06-30
  • 打赏
  • 举报
回复
引用 9 楼 Merry0101 的回复:
[quote=引用 5 楼 colin_zyj 的回复:] [quote=引用 3 楼 Merry0101 的回复:] 发布-属性-项目看下表是否在订阅里
恩, 我看了一下,有好多没有发布过去的表在这里,没有发不成功,是因为这些表没有主键列[/quote] 复制订阅的表都必须要有主键。 新增的表必须加入发布中才能订阅[/quote] 恩,知道了,在发布订阅部署完成后发布库中新增的表需要手动加入到项目中去才可以发布(前提是这些表有主键列) 还有两个问题想请教一下:在设置发布过程中,快照代理的配置运行快照代理的计划时间频率只是快照执行的频率么?跟发布服务器有数据更新往订阅服务器同步的实时性没有关系是吧? 关于发布服务器到订阅服务器数据的更新实时性有相关的设置么?还是会自动触发?
colin_zyj 2017-06-30
  • 打赏
  • 举报
回复
引用 9 楼 Merry0101 的回复:
[quote=引用 5 楼 colin_zyj 的回复:] [quote=引用 3 楼 Merry0101 的回复:] 发布-属性-项目看下表是否在订阅里
恩, 我看了一下,有好多没有发布过去的表在这里,没有发不成功,是因为这些表没有主键列[/quote] 复制订阅的表都必须要有主键。 新增的表必须加入发布中才能订阅[/quote] 恩 这两个问题明白了,谢谢
0与1之间 2017-06-30
  • 打赏
  • 举报
回复
引用 5 楼 colin_zyj 的回复:
[quote=引用 3 楼 Merry0101 的回复:] 发布-属性-项目看下表是否在订阅里
恩, 我看了一下,有好多没有发布过去的表在这里,没有发不成功,是因为这些表没有主键列[/quote] 复制订阅的表都必须要有主键。 新增的表必须加入发布中才能订阅
colin_zyj 2017-06-30
  • 打赏
  • 举报
回复
引用 14 楼 Merry0101 的回复:
你可以选SQL代理启动时自动执行,这样数据就可以实时更新 如果要选执行间隔那就看你需求了
你说的这个我一时没有找到在哪里配置, http://www.cnblogs.com/tatsuya/p/5025583.html 这个博客上的的同步方式与发布订阅之间两者有什么区别呢? 有没有好坏之分? 因为发布订阅要求表必须有主键列,我们的表结构有的是没有的所有想尝试一下其他的方式
二月十六 2017-06-29
  • 打赏
  • 举报
回复
引用 6 楼 colin_zyj 的回复:
[quote=引用 4 楼 sinat_28984567 的回复:] [quote=引用 2 楼 colin_zyj 的回复:] 恩, 是发布订阅完成后主库里新增的表
在发布的属性里面把新建的表或者视图勾选上[/quote] 在创建完发布订阅后,后期再新加的表或试图不会自动的发布过去么? 都需要这样手动的在项目里添加么? [/quote] 是的;新建的表,都需要重新手动处理一遍。
RINK_1 2017-06-29
  • 打赏
  • 举报
回复
发布数据库里新加的数据表不会自动纳入原有的同步处理范围。你可以针对后加的30张表,再建一个复制订阅。也就是这两个库之间有两个复制订阅任务,一个同步141张表,一个同步30张表。 或者你重新设置第一个发布,选上后30张表,然后重新初始化。 参与发布和订阅的表,必须得有主键。
colin_zyj 2017-06-29
  • 打赏
  • 举报
回复
引用 4 楼 sinat_28984567 的回复:
[quote=引用 2 楼 colin_zyj 的回复:] 恩, 是发布订阅完成后主库里新增的表
在发布的属性里面把新建的表或者视图勾选上[/quote] 在创建完发布订阅后,后期再新加的表或试图不会自动的发布过去么? 都需要这样手动的在项目里添加么?
colin_zyj 2017-06-29
  • 打赏
  • 举报
回复
引用 3 楼 Merry0101 的回复:
发布-属性-项目看下表是否在订阅里
恩, 我看了一下,有好多没有发布过去的表在这里,没有发不成功,是因为这些表没有主键列
二月十六 2017-06-29
  • 打赏
  • 举报
回复
引用 2 楼 colin_zyj 的回复:
恩, 是发布订阅完成后主库里新增的表
在发布的属性里面把新建的表或者视图勾选上
0与1之间 2017-06-29
  • 打赏
  • 举报
回复
发布-属性-项目看下表是否在订阅里
colin_zyj 2017-06-29
  • 打赏
  • 举报
回复
恩, 是发布订阅完成后主库里新增的表
二月十六 2017-06-29
  • 打赏
  • 举报
回复
那30张表是后期新建的吗?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧