Sql-Server

SQL Server 2012 故障轉移群集是否需要 MSDTC?

  • March 17, 2016

我正在製作一個 2 節點 SQL Server 2012 故障轉移集群;我需要安裝 MSDTC 組件嗎?

如果是,可以都安裝在一個共享磁碟上嗎?

SQL Server 2012 故障轉移群集不需要 MSDTC。但是,如果您計劃使用連結伺服器,則需要創建群集 MSDTC 資源。好消息是可以在集群已經建構和 SQL Server 安裝之後進行設置。

Microsoft 分佈式事務協調器 (MSDTC) 提供了一種機制來確保跨多個數據源的原子性和一致性。如果您計劃跨多個數據源執行顯式事務操作,或者如果您正在安裝 SQL Server 2005,則需要它。

這同樣適用於群集和非群集 SQL Server 安裝。

如果您不打算使用分佈式事務,則不需要安裝 MSDTC。

下面顯示了一個分佈式事務的範例:

SET XACT_ABORT ON;
BEGIN TRY
   BEGIN TRANSACTION
   SELECT *
   FROM LinkedServerName.master.sys.sysobjects so;
   COMMIT TRANSACTION
END TRY
BEGIN CATCH
   IF @@TRANCOUNT > 0 
   BEGIN
       ROLLBACK TRANSACTION
   END
END CATCH

如果您確實計劃在群集實例上像這樣執行 T-SQL,則需要將 MSDTC 安裝到單獨的 LUN 上,該 LUN 被配置為與 SQL Server 實例本身相同的群集資源組的一部分。不要將它安裝到 SQL Server 使用的磁碟上,因為這些磁碟可能會在 MSDTC 服務停止之前的故障轉移期間消失。

您需要使用 dcomcnfg 實用程序配置分佈式事務協調器的安全設置以允許它在網路上進行通信:

在此處輸入圖像描述

有關詳細資訊,請參閱此 MSDN 部落格

引用自:https://dba.stackexchange.com/questions/50826