您好我有 SQL SERVER 2008R2 数据中心版,我使用 SSRS 和供应商应用程序进行报告。我有一个报告服务器,我们每天从 Live Server 备份和恢复,以便为我们的报告提供可用数据。
因此,我面临许多问题,因此开发的任何代码都必须等待一天,直到还原完成才能进行测试。在 Reporting Server 上开发的任何代码都会被覆盖。出人意料的意外报告显示了一天前的数据,我可以继续说下去。
我知道我有两个可用的镜像和复制选项:
镜像将允许只读模式并且报告运行正常吗?这种只读模式是否还有我遗漏的其他含义?
复制我在所有表上都没有主键,所以我只剩下使用全局唯一标识符 (GUID) 的合并复制选项,我不能让 sql server 将此列添加到我的数据库中的所有表中。
任何人都可以告诉我一个解决方案,以便在另一台服务器上拥有 Sql Server 数据库的实时副本以用于报告目的?
我的要求
- 我可以忍受几分钟的旧数据。
- 在生产服务器上所做的任何更改都需要复制到报告服务器,即数据、Sql Server 对象(表、视图、存储过程、一切)
- 在报告服务器上创建的任何对象都不需要复制到生产服务器/数据库。
请告知任何解决方案,因为这将是一个很大的帮助,谢谢您。
仅使用镜像是不够的,因为镜像辅助不可用于查询。您必须创建和维护快照,这可能很烦人。
您的选择没有特别的顺序:
如果不了解有关您的环境的更多信息,很难做出明确的建议。我已经使用了这些方法中的大多数,取得了不同程度的成功。请注意,大多数地方最终都会为报告和分析构建更强大的数据集市/数据仓库,因此您可能有一天会使用 ETL 路线。
哦,请确保您已获得辅助服务器的许可;)
我个人有事务复制的经验。在我的例子中,我在报表服务器上配置了分发器,然后在实时服务器上创建了发布以从报表服务器进行控制。报表服务器的订阅运行良好。
使用这种配置,我能够成功地从实时服务器复制数据,仅使用日志读取器(在实时服务器上)作为开销,而报告服务器的工作是接收复制的命令,并将它们分发到订阅的数据库(s ) 独立于实时服务器。
总而言之,这个选项是完美的。
确保您事先和之后配置的要点:
我在数据库复制的所有其他领域都有经验。我同意前面的说法,因为您最终将使用数据集市;除非您的公司通过第三方代理进行了此配置。
不过,对我来说,复制更简单(虽然难以配置),因为以后它总能得到回报。