SQL 2012 Server 数据库事务复制性能问题

SQL 2012 Server 数据库事务复制性能问题

我们已经为客户的 .NET Web 应用程序配置了 SQL 2012 服务器数据库事务复制,以便在不同的 SQL 服务器上分发 SQL 事务和报告。

我们已经在作为主数据库服务器的 SQL-Node1 上实现了事务复制,我们已经在 SQL-Node2 上配置了主数据库的复制,以便将报告拉到我们的 Web 应用程序中,该应用程序具有大量的事务和从 Excel 表条目上传的数据,每天大约有 1000 万个条目。

在两台 SQL 2012 服务器上配置复制后,几周后我们遇到了一些性能问题,发现在将文件上传到数据库时某些资源被锁定,这就是应用程序无法访问这些表和数据的原因。还发现当用户访问我们的 Web 应用程序时,服务器在白天的运行速度太慢。

现在,我们希望将负载分配到 SQL 2012 服务器的 3 个不同节点上。其中,Web 应用程序将访问和处理 SQL-Node1 上的数据,报告查询将从 SQL-Node2 获取拉取数据,而 SQL-Node3 将用于将 Excel 工作表数据上传到数据库,该数据库将在所有其他 SQL 节点上进行复制。

当前设置,所有服务器均具有 Windows Server 2008 Standard 和 SQL 2012 Enterprise Edition。

数据库大小约:15 GB/使用的复制:在 SQL 节点 1 上配置的事务/分发者角色/在 SQL 节点 2 上配置的订阅者角色。

我们正在寻找解决上述问题的解决方案,该解决方案可以在所有 SQL 节点之间分配不同的负载(报告、数据上传、交易)并复制数据。

对于上述场景,SQL 2012 HA、SQL 复制或 SQL 镜像中哪个功能表现良好?

将非常感谢您的快速回复......

答案1

您能考虑使用只读辅助服务器来创建 ALwaysOn 组吗?

http://msdn.microsoft.com/en-us/library/ff878253.aspx

解释它。

这已经是最好的结果了——将报告从事务数据库中取出。

顺便说一句,1000 万行并不多。这是一个非常小的每日上传量 - 我建议检查你的编程是否存在明显的错误。

答案2

“对于上述场景,SQL 2012 HA、SQL 复制或 SQL 镜像中哪个功能表现良好?”

嗯,镜像是独自灾难恢复功能。当镜像处于活动状态时,您无法从镜像伙伴读取数据。

正如 TomTom 所说,我强烈建议您看看 AlwaysOn,因为您已经拥有企业许可证。

相关内容