用于报告的 SQL 日志传送

用于报告的 SQL 日志传送

我想在辅助服务器上创建 SQL Server 2008 数据库的只读副本,用于报告和分析。我一直在测试日志传送,配置为每 5 分钟左右运行一次。唉,似乎有一个障碍,因为在恢复期间需要对目标数据库进行独占访问,这反过来又需要终止所有活动连接。这远非理想,特别是当用户正在运行报告时。有什么更好的建议吗?

编辑:我在 Express 版本上执行此操作。

答案1

如果您需要保持在线访问数据,您有几个选择(假设您只想使用 SQL 本机功能作为解决方案,如果您对第三方软件和/或硬件开放,你还有很多其他选择):

1)复制 - 最有可能是事务复制和单个只读订阅者(msdn 是一个很好的概述起点,我会发布一个链接,但目前我只能使用 1,只需谷歌搜索“sql server replication msdn”,它就会在顶部)

2)保留日志传送配置,以便将数据传输到辅助服务器,并利用数据库快照与公用数据库和旋转同义词相结合(请参阅这里有关此类架构的详细信息)。仅当您在辅助服务器上使用企业版(唯一支持快照的版本)时,此功能才有效。

答案2

如果您可以处理报告数据的轻微延迟,那么一个简单的解决方案就是减少数据库恢复频率。

您仍然可以每 5 分钟备份和复制一次,但只需将恢复作业的频率更改为每小时一次或适当的频率。

用户可能仍会断线,但频率会较低。

相关内容