XA 交易支援需要登錄專案

從 Windows Server 2003 開始,Microsoft Distributed Transaction Coordinator (MS DTC) 要求您為計劃使用的所有 XA DLL 建立登錄值。 本文提供修改登錄的步驟。

原始產品版本: Windows Server 2003
原始 KB 編號: 817066

摘要

從 Windows Server 2003 開始,MS DTC 會要求您為計劃使用的所有 XA DLL 建立登錄值。 這項需求已新增至 Windows Server 2003,以協助您將 MS DTC 程式中使用第三方 XA DLL 的相關風險降到最低。 若要在使用 XA 交易時保留相同的功能,您必須針對您打算使用的每個 XA DLL,在 XA DLL 機碼中新增登錄值。 本文說明這些登錄值。

例如,當您將現有的系統升級至 Windows Server 2003,且現有系統使用 MS DTC 搭配第三方 XA DLL 時,會停用 XA 交易的支援,直到您建立這些必要的登錄值為止。 此外,如果您稍後安裝提供 XA DLL 以支援 XA 交易的第三方產品,您必須執行下列其中一項:

  • 手動建立這些登錄值
  • 確認第三方安裝程式建立這些登錄值

開啟 XA 交易的支援

重要事項

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 為了有多一層保護,請先備份登錄再進行修改。 如此一來,您就可以在發生問題時還原登錄。 如需進一步了解如何備份及還原登錄的相關資訊,請參閱如何在 Windows 中備份及還原登錄

當 MS DTC 使用使用者指定的 DLL 時,就會發生安全性風險。 這些 DLL 會直接載入 MS DTC 程式中。 MS DTC 會使用這些 DLL 來與 XA 合作夥伴的交易管理員 (TM) 通訊。 此案例可能會將 Resource Manager (RM) 資料庫公開為嚴重的數據損毀。 如果惡意或瑕疵的 XA DLL 未確認分散式交易認可或中止正確,此案例也可以允許拒絕服務攻擊。 此外,如果惡意或有瑕疵的 XA DLL 包含不是安全性增強的程式代碼,攻擊者可能會利用此弱點來造成阻斷服務攻擊。

為了協助避免此安全性風險,當您升級至 Windows Server 2003 時,Windows Server 2003 會關閉所有 XA 交易。 如果 XA 交易的支援已關閉,Windows Server 2003 可協助保護 MS DTC 免於遭受拒絕服務攻擊。

您可能必須開啟 XA 交易的支援。 如果要執行這項操作,請依照下列步驟執行:

  1. 啟元件服務
  2. 展開樹檢視,找出您要開啟 XA 交易支援的電腦 (例如[ 我的電腦 ]) 。
  3. 以滑鼠右鍵按兩下電腦名稱,然後按下 [ 屬性]
  4. 按兩下 [MSDTC] 索 引標籤,然後按兩下 [ 安全性設定]
  5. 在 [ 安全性設定] 下,選取 [XA 交易 ] 的複選框以開啟此支援。

Windows Server 2003 提供登錄專案,讓您指定將使用的 XA DLL。 當您升級至 Windows Server 2003 時,可以使用 XA 交易的方式與在舊版 Microsoft Windows Server 中使用 XA 交易的方式相同。

若要這樣做,請在下列登錄子機碼下建立名為-value 的登錄:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL

在您的登錄中, Name 可以是 XA DLL 的檔名 (例如,dllname.dll) ,雖然您不需要使用此命名慣例。 此外,在這個具名值中, Type 是 String (REG_SZ) ,而值是完整路徑名稱 (包括 DLL 檔案的檔名) 。

為您打算使用的每個 XA DLL 檔案建立專案。 此外,如果您要在叢集上設定 MS DTC,您必須在叢集中的每個節點上建立這些登錄專案。

參考資料