我们为客户的 .NET Web 应用程序配置了 SQL Server 2012 数据库事务复制,以便在不同的 SQL Server 上分发 SQL 事务和报告。
我们已经在 SQL-Node1 上实现了事务复制,它作为主数据库服务器工作,我们在 SQL-Node2 上配置了主数据库的复制,以将报告提取到我们的 Web 应用程序中,该应用程序有大量的事务和数据从 Excel 工作表条目上传每天大约有 1000 万个条目。
在两个 SQL Server 2012 实例上配置复制后,几周后我们遇到了一些性能问题,并发现在将文件上传到数据库期间某些资源被锁定,这就是应用程序无法访问这些表和数据的原因。还发现当用户访问我们的 Web 应用程序时,服务器在白天执行速度太慢。
现在我们正在寻找在 SQL Server 2012 的不同 3 个节点上分配负载。Web 应用程序将在 SQL-Node1 上访问和处理数据,报告查询从 SQL-Node2 获取数据,SQL-Node3 将用于上传 Excel 表将数据复制到所有其他 SQL 节点上的数据库。
当前设置,所有具有 Windows Server 2008 Standard 和 SQL Server 2012 Enterprise Edition 的服务器。
数据库大小约:15 GB/使用的复制:在 SQL 节点 1 上配置的事务/分发者角色/在 SQL 节点 2 上配置的订阅者角色。
我们正在寻找解决上述问题的解决方案,可以在所有 SQL 节点之间分配不同的负载(报告、数据上传、事务)和复制数据。
SQL Server 2012 HA、SQL Server Replication 或 SQL Server Mirroring 中的哪个功能在上述场景中表现良好?
快速响应将不胜感激......