我正在创建一个新的 SQL Server 2012 集群,在 2 个物理节点上运行(操作系统是 Windows Server 2012 R2);该集群将托管多个 SQL Server 实例;确切的数量尚未确定,但至少会有 3 个。
我试图了解是否需要创建 MSDTC 集群服务,以及是否需要多个集群服务;到目前为止,似乎有四种可能的情况:
- 没有 MSDTC 集群服务;不再需要。
- 为整个集群提供单个 MSDTC 集群服务。
- 每个 SQL Server 实例都有一个 MSDTC 群集服务,在同一个群集组中运行。
- 每个 SQL Server 实例都有一个 MSDTC 群集服务,在其自己的群集组中运行。
这文档有点……不清楚实际要求,有各种各样的文章和博客文章说了一切,有时又说了完全相反的话即使同时。
该集群需要多少个(如果有的话) MSDTC 集群服务?
答案1
无论使用 SQL FCI 还是 SQL AOAG,使用群集 SQL 时都应始终群集 MSDTC。我会选择此选项,因为这样您可以更好地分配负载,并且它们将一起进行故障转移并在同一个群集节点上运行:
A MSDTC clustered service for each SQL Server instance, running in the same cluster group.