none
SQL Server 2008 有没有哪种同步方式可以做到完全实时的数据同步 RRS feed

  • 问题

  • 我现在的场景是有一台可写的主数据库,多台只读的从数据库。

    多个应用将修改写入主数据库,然后从最近的从数据库中读取结果。

    我们的应用写操作不是很频繁,没有一次性大数据量写入的场景。也可以接受写的性能慢一些。但是实时性非常高。

    希望可以做到某个应用写入主数据库结束后,可以立刻从那些从数据库中读取到结果。

    类似:

    DataUpdate(); 

    DataRead();

    就能直接看到变化。

    请问SQL Server 2008有没有类似的机制。谢谢。



    2012年10月31日 10:58

答案

  • 只有 2012 的 Always on 可以做到

    Replication 是异步的

    镜像只能通过建议快照做到读取,面这个快照基于建立的那个时间点

    Always on 可以做到2个同步的只读副本,2个异步的只读副本

    当然,就算是Always on的同步副本,也可能会有延迟,同步是指主数据库的数据写入,同时只读副本已经把这个日志存储缓存的时候就算同步了,这个日志要从缓存中真正应用到只读副本,只读副本才会真正读取到数据,所以在 I/O 或者服务器忙的时候,可能还是会有很短时间的差异

    2012年11月1日 1:15
  • 你好,

    如果想要实现Server级别的同步,那么都会有延时。如果一定要实现同步,我们可以尝试同步数据库镜像(高安全性模式),高安全性模式通过要求数据在两个位置间保持同步来保护数据。所有提交的事务都保证受到保护,写入镜像服务器的磁盘上。但是它只针对Server上的某个数据库,而且后续版本的 Microsoft SQL Server 将删除该功能。可以参考下面的文档:

    同步数据库镜像(高安全性模式)
    http://msdn.microsoft.com/zh-cn/library/ms179344(v=sql.105).aspx

    数据库镜像 (SQL Server):
    http://msdn.microsoft.com/zh-cn/library/ms189852.aspx


    Description: Description: TechNet 论坛好帮手立刻免费下载TechNet论坛好帮手

    2012年11月1日 3:15

全部回复