2014-05-05 63 views
2

我試圖使用MSDTC創建跨越的SQL Server Express的本地實例和SQL Server 2012的數據庫事務的本地實例MSDTC。如何「喚醒」上的SQL Server Express

第一次在重新啓動後運行我的單元測試時,當我試圖在事務中打開與本地服務器的連接時,我得到「msdtc is unavailable」,我可以多次運行測試並獲得相同的結果。如果我進入組件服務的計算機文件夾將是空的大約5秒鐘,然後最終將出現。然後,我可以成功運行單元測試,而無需在「組件服務」窗口中進行任何操作。所以看起來組件服務窗口正在後臺啓動,但是什麼?

For Each row As DataRow In ObjectIdsTable.Rows 
    Using scope As New Transactions.TransactionScope 
     Using serverCon = New SqlConnection(_serverConn) 
      Using syncConn As New SqlConnection(_clientConn) 
       serverCon.Open() 
       syncConn.Open() **ERROR HAPPENS HERE** 

       ... Do work Here ... 

      End Using 
     End Using 
     scope.Complete() 
    End Using 
Next 

我想我可以重寫代碼以避免使用MSDTC,但不是這正是它的目的?

回答

1

我想通了。有一個稱爲分佈式事務處理協調器的服務被設置爲手動啓動。將其設置爲自動修復問題。

這不是第一次被迫以完整/合乎邏輯的方式呈現問題,以創建一個合適的問題,幫助我自己解決問題。