数据库读写分离,读在从服务器,但是数据同步有问题,请指教。。。

xghabc 2013-12-07 11:12:19
请求一个问题,
数据库读写分离,读在从服务器,但是,数据同步虽然时间,也是说,主服务器更改了,但是从服务器读到的还是旧的数据。。怎么解决。。
...全文
515 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2013-12-07
  • 打赏
  • 举报
回复
SQL Server 主动/主动集群,相当于数据库镜像的加强版,2台机器都能用,一台用来写,一台用来读,就是配置麻烦一点。 在这种类型的集群中,集群中的每个节点运行一个独立且主动的SQL Server实例。发生节点故障时,另一个节点能够控制发生故障节点的SQL Server实例。然后这个正常的节点将运行两个SQL Server实例——它自己的实例和发生故障的实例。 优点:通过这种配置,你能够充分利用你的硬件。在这样的系统中,两个服务器都在运行,而不是只有一台服务器运行,而另一台处于等待故障发生的备用模式,因此你能够充分利用你购买的机器。
LongRui888 2013-12-07
  • 打赏
  • 举报
回复
引用 9 楼 xghabc 的回复:
[quote=引用 8 楼 yupeigu 的回复:] [quote=引用 7 楼 xghabc 的回复:] [quote=引用 5 楼 yupeigu 的回复:] [quote=引用 3 楼 xghabc 的回复:] [quote=引用 2 楼 yupeigu 的回复:] 你的数据同步间隔是多久呢 sql server 支持最短同步时间是10秒
就是10秒太长了。。 想做到实时同步啊。。 然后实现读写分离啊。。[/quote] 你用的是 2000还是2005,2008呢[/quote] 现在是2005,可以升级2008 尽量给2005的解放方案吧。。2008的也行。。[/quote] 数据库同步总是有一点建个时间,那就只能用连接服务器+触发器了,因为触发器的机制在一个事务里,只有触发器中的代码执行后,整个事务才会提交,这样能保证实时同步,也能实现读写分离。 但是工作量非常大,首先建立连接服务器,然后得给要同步的买个表建立触发器。[/quote] 这方案不好使吧。。[/quote] 呵呵,那就只能用 数据库集群了哈
xghabc 2013-12-07
  • 打赏
  • 举报
回复
引用 8 楼 yupeigu 的回复:
[quote=引用 7 楼 xghabc 的回复:] [quote=引用 5 楼 yupeigu 的回复:] [quote=引用 3 楼 xghabc 的回复:] [quote=引用 2 楼 yupeigu 的回复:] 你的数据同步间隔是多久呢 sql server 支持最短同步时间是10秒
就是10秒太长了。。 想做到实时同步啊。。 然后实现读写分离啊。。[/quote] 你用的是 2000还是2005,2008呢[/quote] 现在是2005,可以升级2008 尽量给2005的解放方案吧。。2008的也行。。[/quote] 数据库同步总是有一点建个时间,那就只能用连接服务器+触发器了,因为触发器的机制在一个事务里,只有触发器中的代码执行后,整个事务才会提交,这样能保证实时同步,也能实现读写分离。 但是工作量非常大,首先建立连接服务器,然后得给要同步的买个表建立触发器。[/quote] 这方案不好使吧。。
LongRui888 2013-12-07
  • 打赏
  • 举报
回复
引用 7 楼 xghabc 的回复:
[quote=引用 5 楼 yupeigu 的回复:] [quote=引用 3 楼 xghabc 的回复:] [quote=引用 2 楼 yupeigu 的回复:] 你的数据同步间隔是多久呢 sql server 支持最短同步时间是10秒
就是10秒太长了。。 想做到实时同步啊。。 然后实现读写分离啊。。[/quote] 你用的是 2000还是2005,2008呢[/quote] 现在是2005,可以升级2008 尽量给2005的解放方案吧。。2008的也行。。[/quote] 数据库同步总是有一点建个时间,那就只能用连接服务器+触发器了,因为触发器的机制在一个事务里,只有触发器中的代码执行后,整个事务才会提交,这样能保证实时同步,也能实现读写分离。 但是工作量非常大,首先建立连接服务器,然后得给要同步的买个表建立触发器。
xghabc 2013-12-07
  • 打赏
  • 举报
回复
引用 5 楼 yupeigu 的回复:
[quote=引用 3 楼 xghabc 的回复:] [quote=引用 2 楼 yupeigu 的回复:] 你的数据同步间隔是多久呢 sql server 支持最短同步时间是10秒
就是10秒太长了。。 想做到实时同步啊。。 然后实现读写分离啊。。[/quote] 你用的是 2000还是2005,2008呢[/quote] 现在是2005,可以升级2008 尽量给2005的解放方案吧。。2008的也行。。
LongRui888 2013-12-07
  • 打赏
  • 举报
回复
引用 4 楼 xghabc 的回复:
[quote=引用 1 楼 yupeigu 的回复:] 你是用数据库同步与订阅来实现,读写分离的不。
就是读写分离啊。结果从服力器更新时间过长。。没法读,都是旧数据。。[/quote] 数据库镜像技术可以实现实时,但是在2008中,也没办法读,所以无法实现读写分离。 到了sql server 2012后,数据库镜像的数据也能够读取,所以既能实现实时同步,也能实现读写分离。 而在2000、2005、2008中是无法同时实现实时同步 和 读写分离的
LongRui888 2013-12-07
  • 打赏
  • 举报
回复
引用 3 楼 xghabc 的回复:
[quote=引用 2 楼 yupeigu 的回复:] 你的数据同步间隔是多久呢 sql server 支持最短同步时间是10秒
就是10秒太长了。。 想做到实时同步啊。。 然后实现读写分离啊。。[/quote] 你用的是 2000还是2005,2008呢
xghabc 2013-12-07
  • 打赏
  • 举报
回复
引用 1 楼 yupeigu 的回复:
你是用数据库同步与订阅来实现,读写分离的不。
就是读写分离啊。结果从服力器更新时间过长。。没法读,都是旧数据。。
xghabc 2013-12-07
  • 打赏
  • 举报
回复
引用 2 楼 yupeigu 的回复:
你的数据同步间隔是多久呢 sql server 支持最短同步时间是10秒
就是10秒太长了。。 想做到实时同步啊。。 然后实现读写分离啊。。
LongRui888 2013-12-07
  • 打赏
  • 举报
回复
你的数据同步间隔是多久呢 sql server 支持最短同步时间是10秒
LongRui888 2013-12-07
  • 打赏
  • 举报
回复
你是用数据库同步与订阅来实现,读写分离的不。

22,210

社区成员

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

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