请更好地告知我的问题。我有一个托管在托管SQL服务器的同一台服务器上的高负载Web应用程序。我还在同一台服务器上运行SQL Service报告,生成用户报告。
所以我的服务器基本上工作在磁盘读/写速度之上。我将获得另一台服务器并在那里安装另一台SQL服务器以便在那里托管SSRS。所以我的标准是尽可能获得新数据。
我看了几个解决方案,目前我通过作业进行备份,将其复制到第二台服务器并在那里恢复,也通过作业。但那不是最好的解决方案。
所有复制机制(事务,合并,快照)都会通过锁定它的表来影响发布者数据库,这对我来说是不可接受的。
所以我想知道是否有可能创建具有只读访问权限的副本,该副本会定期同步而不影响主数据库?我会将所有报告加载到该副本,并使我的主数据库仅由Web应用程序使用。
哪种解决方案可能适合我的问题?由于我不是DBA,我会开始调查这个方向。感谢。
答案 0 :(得分:3)
事务复制通常用于将报告卸载到另一个服务器/实例,并且在最佳情况下可以接近实时。事务复制的好处是您可以在订户上放置不同的索引以优化报告。如果只需要一个子集进行报告,您也可以选择仅复制部分数据。
使用事务复制进行锁定的唯一时间是生成快照时。使用并发快照处理(事务复制的默认设置),共享锁仅保留很短的时间,因此用户可以继续不间断地工作。无论哪种方式,这都不应成为问题,因为您可能会在用户活动较少的时候生成快照。