我在我的應用程序上運行server1上的存儲過程。存儲過程會執行一堆內容,並使用過程的結果在server2上填充表。在兩臺SQL服務器之間運行同步命令
我正在使用鏈接服務器來完成此操作。
存儲過程完成後,應用程序繼續運行,並嘗試對存儲過程的結果進行一些操作。
我的問題是存儲過程的結果尚未完全插入到表中,因此表的操作失敗。
所以我的問題是。是否可以確保在鏈接服務器上插入到同步?我希望存儲過程不會返回,直到鏈接服務器上的表實際完成。
我在我的應用程序上運行server1上的存儲過程。存儲過程會執行一堆內容,並使用過程的結果在server2上填充表。在兩臺SQL服務器之間運行同步命令
我正在使用鏈接服務器來完成此操作。
存儲過程完成後,應用程序繼續運行,並嘗試對存儲過程的結果進行一些操作。
我的問題是存儲過程的結果尚未完全插入到表中,因此表的操作失敗。
所以我的問題是。是否可以確保在鏈接服務器上插入到同步?我希望存儲過程不會返回,直到鏈接服務器上的表實際完成。
我發現這種奇怪的行爲的原因。在存儲過程中,在調試過程中添加了一行代碼,在同一個表中的數據寫入鏈接服務器之前,在臨時mem表上執行了select操作。
當select語句運行時,控制權被回送給我的應用程序,同時存儲過程繼續運行。我猜存儲過程從一開始就同步運行。
您可以使用第一個過程的輸出參數。當在第二臺服務器上創建表時,輸出參數值將返回到您的應用程序並指示操作已準備就緒。
如果事情是很難那麼這個你可以嘗試設置你的存儲過程的一個不同的隔離級別:
HOw將sproc將控件返回給應用程序,直到它完成插入操作? – AnandPhadke
我的存儲過程中似乎有一個錯誤,程序返回的時間太早。我將在自己的回覆中添加詳細信息。 –