我一直在撞牆,試圖弄清楚如何在使用SMO的單個SQL Server實例中針對多個數據庫同時運行更新腳本。我們的環境中有越來越多的需要更新的數據庫,並且一次迭代一個數據庫正成爲一個問題(太慢)。使用SMO同時調用Database.ExecuteNonQuery()?
從我所瞭解的SMO不支持併發操作,我的測試已經證明了這一點。在服務器對象級別似乎存在共享內存,因爲像DataReader上下文這樣的內容會一直拋出異常,例如「閱讀器已經打開」。我很抱歉沒有得到確切的例外。我會盡力讓他們更新這篇文章。
我不是SMO的專家,只是覺得我的方式是誠實的。我不確定我是否以正確的方式接近它,但這是必須要做的事情,否則我們的生產力會慢慢下降。
那麼你會如何做這樣的事情?我用SMO使用了錯誤的技術嗎?我想要做的就是並行地在單個sql服務器實例中針對數據庫執行sql腳本。
感謝您的幫助,您可以給,丹尼爾
太好了,謝謝。我一直試圖在所有線程中共享ServerConnnection對象,我認爲這是我的問題所在。感謝您指點我正確的方向。 – JimDaniel 2011-01-12 17:01:09