SQL Server:一台生产服务器可作为其他服务器的故障转移

SQL Server:一台生产服务器可作为其他服务器的故障转移

我确实使用了错误的术语,但我有以下内容:

SQL Server A (SAN1) - DB1, DB2, DB3

SQL Server B (SAN2) - DB4, DB5, DB6

目前是 SQL 2008,我们正在考虑迁移到 SQL 2014。我想设置高可用性,并且想知道是否可以针对以下场景进行配置。

将 DB 123 复制到 B,将 DB 456 复制到 A。然后,如果 SQL Server A 发生故障,DBS 1、2 和 3 将在服务器 B 上运行(以及 4、5 和 6)。

同样,如果服务器 B 出现故障,则 A 上的 4、5 和 6 仍处于活动状态。

希望这是有意义的。

非常感谢

答案1

我知道您希望将高可用性和某种负载平衡整合到一个系统中。使用 SQL Server 2014 可用性组,只有一种方法可以实现类似的目标,而且它并不完全符合您的要求:

可读辅助副本

https://msdn.microsoft.com/en-AU/library/ff878253.aspx

AlwaysOn 可用性组活动辅助功能包括支持对一个或多个辅助副本(可读辅助副本)进行只读访问。可读辅助副本允许对其所有辅助数据库进行只读访问。但是,可读辅助数据库未设置为只读。它们是动态的。给定的辅助数据库会随着相应主数据库上的更改应用于辅助数据库而更改。对于典型的辅助副本,辅助数据库中的数据(包括持久内存优化表)接近实时。此外,全文索引与辅助数据库同步。在许多情况下,主数据库和相应的辅助数据库之间的数据延迟只有几秒钟。

主数据库中的安全设置将保留到辅助数据库中。这包括用户、数据库角色和应用程序角色及其各自的权限和透明数据加密 (TDE)(如果在主数据库上启用)。

本质上,读取将在两台服务器上保持平衡,但写入只会发生在当前活动服务器上。请注意,在 SQL Server 2014 中,可读辅助副本进程将仅针对第一台辅助服务器,而不是任何后续服务器,因此拥有两台以上服务器不会提高此功能的性能。

Always On 可用性组过去和现在都完全是作为 HA/DR 解决方案而设计的。它们不用于进行负载平衡。事实上,SQL Server 没有现成的负载平衡方法。有第三方工具可以实现类似的功能,但您正在查看数据库级别的更改和潜在的应用程序重新架构,这可能不在本答案的范围内。

相关内容