您目前已離線,請等候您的網際網路重新連線

如何重建或移動 MSDTC 安裝,以配合 SQL 容錯移轉叢集

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

294209
結論
本文說明如何重建一個中斷的 Microsoft 分散式交易協調器 (MSDTC) 安裝用於容錯移轉叢集 SQL Server 安裝及如何移動 [MSDTC 叢集資源到新的群組。

Microsoft 僅支援在叢集節點上執行 MSDTC 當做叢集資源。我們不建議或支援以獨立模式執行 MSDTC 在叢集上。使用 MSDTC 當做非叢集的資源,Windows 叢集上很麻煩。此設定是有問題,因為交易被遺棄,如果發生叢集容錯移轉,您可能會遇到資料損毀。

附註這些程序應該執行直接在正在使用不是透過任何類型的遠端連線的電腦上。

附註本文中的資訊到 Microsoft Windows Server 2003 並不適用。Microsoft Windows Server 2003 為主的系統請參閱下列文件 「 Microsoft 知識庫 」 中:
301600如何在 Windows Server 2003 叢集上設定 Microsoft 分散式交易協調器
其他相關資訊

SQL Server 的容錯移轉叢集伺服器上重建 MSDTC

重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756如何備份和還原在 Windows 登錄
  1. 切換到手動模式,所有服務。不過,不碰觸到下列服務 (如果有的話):
    • 警示器
    • 叢集服務
    • 電腦瀏覽器
    • 分散式的檔案系統
    • 分散式的連結追蹤用戶端
    • 分散式的連結追蹤伺服器
    • DNS 用戶端
    • 事件記錄檔
    • IPSEC 原則代理程式
    • 授權記錄服務
    • 邏輯磁碟管理員
    • 信差
    • 網路登入
    • NTLM 安全性支援提供者
    • 網路連接器
    • 「 隨插即用 」
    • 處理程序控制
    • 遠端程序呼叫 (RPC) 定址器
    • 遠端程序呼叫 (RPC) 服務
    • 遠端登錄服務
    • [卸除式存放裝置
    • 安全性帳戶管理員
    • 伺服器
    • 多工緩衝處理程式
    • TCP/IP NetBIOS 協助程式
    • 時間服務
    • Windows 管理檢測驅動程式延伸模組
    • Windows Time] 服務
    • 工作站
    附註因為此清單所涵蓋的 Microsoft Windows NT 4.0 企業版和 Microsoft Windows 2000 進階伺服器部份的安裝不能有所有這些服務。
  2. 關閉 [控制台],然後重新啟動伺服器。這會清除服務載入 DLL 的記憶體,否則這些服務保留在記憶體中,並且保留鎖定系統資源。
  3. 如果您使用的 Windows NT 4.0 在所有節點上執行 msdtc-移除。如果您使用的 Windows 2000 在所有節點上執行 msdtc-解除安裝
  4. 在登錄中移除下列機碼,如果它們存在:

    HKEY_CLASSES_ROOT\CID

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet0\Services\MSDTC

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet1\Services\MSDTC

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet2\Services\MSDTC

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet3\Services\MSDTC


    附註ControlSets 數量會因系統而有所不同。
  5. 移除 Z: \MSDTCLog 目錄其中 Z 是這個目錄目前所在的叢集磁碟。

    警告如果您有作用中的記錄檔,且您有保留的 noncommitted 的交易,沒有這麼。執行不繼續執行,請連絡您的 SQL Server 支援專業如需其他指示。
  6. 如果您使用的 Windows NT 4.0,請刪除下列的檔案,在叢集的兩個節點上。您可以跳過這個步驟中的 Windows 2000 安裝。
    • Adme.dll
    • Dac.exe
    • Dacdll.dll
    • Dtccfg.cpl
    • Dtccm.dll
    • Dtctrace.dll
    • Dtctrace.exe
    • Dtcxatm.dll
    • Dtcuic.dll
    • Dtcuis.dll
    • Dtcutil.dll
    • Enudtc.dll
    • Logmgr.dll
    • Msdtc.exe
    • Msdtc.dll
    • Msdtcprx.dll
    • Mtxclu.dll
    • Msdtctm.dll
    • Svcsrvl.dll
    • Xolehlp.dll
    附註預設行為是 MSDTC 會安裝到第一個包含有效的 IP 位址資源、 網路名稱資源和實體磁碟 」 資源的群組。如果 SQL Server 7.0 已經叢集,而是第一個群組,以符合此準則,MSDTC 將使用第一個資源在該群組中找到。這些可能是 SQL Server 資源或 MSDTC 資源。

    您可以找到 MSDTC 安裝在 SQL Server Service Pack 2 CD 列為應該是您在 Windows NT 4.0 上的來源的 Dtcsetup.exe \x86\Other 資料夾中的系統。Windows 2000 系統應該從 %systemroot%\System32 資料夾使用 Dtcsetup.exe 檔案 ; 這通常是您 Winnt\System32 資料夾。

    警告執行 Dtcsetup.exe 之前先驗證該節點 1 具有所有叢集資源群組的控制項。
  7. 在第一個節點上執行 Dtcsetup.exe ; 這會將這些檔案複製到 [%windir%/System32] 資料夾。

    警告Dtcsetup.exe 程式完成時,請仔細閱讀該螢幕。請仔細閱讀訊息之前,請勿按 [確定]。Dtcsetup.exe 可能會要求您在其他節點上執行此相同步驟,再按一下 [確定]。

    附註Microsoft Windows 2000 Dtcsetup.exe 叢集中的其他節點上時才會執行系統會提示您之後在第一個節點上執行 Dtcsetup.exe 執行。
  8. 當系統提示您在第二個節點上執行 Dtcsetup.exe,指示進行。如果沒有任何郵件在第一個節點上完成 Dtcsetup.exe,繼續執行第二個節點上。

    附註若要檢查事件檢視器,以便確定 Dtcsetup.exe 成功每個節點上。

    警告不會移動任何叢集資源。如果您移動任何資源,或在此處理程序期間發生容錯移轉,您必須重新開始它。
  9. 則按一下 [確定] 按鈕,在第二個節點安裝後然後在第一個節點上按一下 [確定] 並且依照安裝需要重新啟動任何電腦。
  10. 僅限 Windows 2000 使用者: 從第一個節點執行 Dtcsetup.exe,開啟命令提示字元,鍵入 comclust.exe 然後再按一下 [Enter。第一個節點上完成此步驟後重複其他節點上的此步驟。
  11. 請確認已經建立叢集磁碟上的 [DTCLOG] 資料夾。預設情況下,MSDTC 服務開頭都是本機系統帳戶。 這個本機系統帳戶應該擁有完整權限來將 DTCLOG 資料夾。

步驟來重設 MSDTC 回到 SQL Server 6.5 和 SQL Server 7.0 的虛擬伺服器上一般安裝

問題

若要重新安裝 MSDTC 沒有 unclustering SQL Server,Dtcsetup.exe 已執行。使用 IP 位址或網路名稱。此過程使用者有相依性 MSDTC 叢集資源無法控制,如果檔案是在 SQL Server 執行個體相同的群組中。

如果 MSDTC 資源而不是 SQL Server 的安裝位置的另一個群組中這並不會套用。

解析度
  1. 建立叢集 IP 位址資源的 [MSDTC、 其命名為"MSDTC IP 位址 」,並將它指派唯一的 IP 位址。這必須是實際的 IP 位址 (不一剛剛所組成)。成功建立之後使資源上線。
  2. 建立叢集網路名稱資源,其 「 MSDTC 網路名稱 」 命名,讓它成為 MSDTC IP 位址而定。使用唯一的名稱,如 CLUSTDTC 」。
  3. 從 「 叢集系統管理員以滑鼠右鍵按一下 [MSDTC 叢集資源,然後選取 [OFFLINE
  4. MSDTC 叢集資源上按一下滑鼠右鍵,然後按一下 [內容]。
  5. 在 [屬性] 對話方塊按一下 相依性,然後再按一下 [修改] 按鈕。
  6. 選取新建立的 MSDTC 資源 (MSDTC 網路名稱] 及 [IP 位址) 作為相依性,然後按一下 [加入
  7. 選取 [任何現有的 SQL Server 叢集的資源依存性,作為已列出,然後再按一下 [移除]。
  8. 按一下 [確定],然後再按一次 [確定]
  9. MSDTC 資源上按一下滑鼠右鍵,然後選取將資源重新上線,然後測試容錯移轉。
  10. 若要確定所有系統檔案都已正確,我們建議 Windows 2000 使用者使用 Windows 2000 檔案檢查程式 」 來確認系統檔案。如果要執行這項操作,輸入 sfc /scannow 在命令提示字元。

    附註具有 Windows 2000 CD 及您 Windows 2000 服務封包的 CD 可用 ; 如果找到不一致之處您將需要 CD。

移動 MSDTC 資源在特定的群組

根據預設值,MSDTC 資源是以不同的方式,根據該作業系統安裝。

Windows NT 4.0

MSDTC 將叢集的 MSDTC 安裝到第一個包含有效的 IP 位址資源、 網路名稱資源以及叢集磁碟資源的群組。這通常是 SQL Server 群組。

Windows 2000

當您想要將 MSDTC 移入 SQL Server 群組,SQL Server 6.5 和 SQL Server 7.0 fellover 叢集中時,請參閱本文 <"重設 MSDTC 的步驟回到 SQL Server 6.5 和 SQL Server 7.0 虛擬伺服器上的一般安裝 」 > 一節。

若要移動 MSDTC 資源的步驟
  1. 啟動 [叢集系統管理員。刪除所有的資源建立 Windows NT 4.0 ; 這些通常會是 MSDTC]、 [MSDTC 網路名稱] 和 [MSDTC IP 位址。

    附註預設情況下,Windows 2000 會將 MSDTC 安裝到叢集群組資源,並且只需要您之後將它離線刪除 MSDTC 資源。
  2. 建立您的選擇 ; [目的地] 群組中的下列資源,例如 SQL Server 群組:
    1. MSDTC TCP/IP 位址,取決於您想要建立的 DTC 磁碟機。
    2. MSDTC 網路名稱,依存於 MSDTC TCP/IP 位址。
    3. 分散式的交易協調器資源,MSDTC 網路名稱而定。
  3. 執行下列其中一項:
    • 從原始的磁碟機的現有 Dtclog 資料夾將移至新機中。
    • 刪除原始 Dtclog 資料夾,並建立資料夾名 Dtclog 為磁碟機上 (與在相同步驟 2) 上您想要安裝的 MSDTC 的地方。
  4. 在命令提示字元下輸入 [節點 A.上的 [comclust這樣就完成後重複此步驟上節點 B。
  5. 從命令提示字元執行 msdtc-resetlog 上節點 A。

    警告msdtc-resetlog 命令是危險的運算,而請確認您執行不有作用中交易當您執行這項作業。
  6. 使所有 MSDTC 資源上線。
Windows Server 2003

如果您是 Windows Server 2003 的使用者,請參閱下列文件 「 Microsoft 知識庫 」 中:
301600如何在 Windows Server 2003 叢集上設定 Microsoft 分散式交易協調器
MSCS

警告:本文已自動翻譯

內容

文章識別碼:294209 - 最後檢閱時間:08/21/2007 16:18:09 - 修訂: 10.2

  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 6.5 Enterprise Edition
  • Microsoft SQL Server 7.0 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • kbmt kbinfo KB294209 KbMtzh
意見反應