我对 SQL Server 没有经验,我是新手。
我是一名开发人员,我认为这个问题与数据库管理员更相关。
我正在研究一个旧的遗留系统,随着时间的推移,这个系统下的数据库在模式和数据中已经增长了很多年。
有些表有大约 600,000 条记录,并且有一百多个表,它们之间存在大量关系。
系统性能受到严重影响,随着用户数量的增长和更多的表的添加,查询变得更大。
SQL Server 每天都在报告超时,并且超时的数量一直在增加。
我的同事已尽其所能优化 SQL Server 实例中的查询计划和索引。
系统运行在一个 SQL Server 实例上,运行在与托管应用程序不同的服务器上。
使用 SQL Server 群集来提高性能是否有任何好处。
我知道,如果一个实例发生故障,另一个实例接管,这对保持可用性是有益的。
但是工作负载是否会在 SQL Server 实例之间共享,即查询/写入...
最重要的是它会减少超时吗?
如果有更好、更优化的方法来对抗这些超时,建议会很棒。
SQL Server 集群是一种容错解决方案,它与性能无关。
如果您希望共享 sql server 上的负载,您应该查看复制或日志传送,直接报告对该复制/日志传送服务器的调用并将应用程序调用保留到主服务器。
如果您的数据太大以至于无论您做什么,性能仍然是一个问题,请考虑将数据归档到数据仓库,在您的应用程序数据库(OLTP 数据库)中仅保留最近的记录(最近 6 个月)。任何超过 6 个月的数据都会发送到您的数据仓库(OLAP 数据库)。
这个故事的寓意是集群你的服务器不会给你任何性能提升,考虑一个替代选项。