變更或刪除替代存取對應時「發生更新衝突,您必須重試此動作」

徵狀

您會在 Microsoft Windows SharePoint Services 3.0 中執行系統復原,其中會還原設定資料庫。 然後,您嘗試修改 或 以刪除替代的存取對應。

當您這樣做時,您會收到類似下列錯誤訊息的錯誤訊息:

An update conflict has occurred, and you must re-try this action. The object SPAlternateUrlCollection Name=WEBAPPLICATION Parent=SPFarm Name=SharePoint_Config is being updated by **DomainName**\**UserName1**, in the w3wp process, on machine **ServerName**. View the tracing log for more information about the conflict.

當您檢視整合記錄服務 (ULS) 記錄檔時,您會看到類似下列專案的專案:

**Date ****Time** w3wp.exe (0x1620) 0x1988Windows SharePoint Services Topology 8xqzMedium Updating SPPersistedObject SPAlternateUrlCollection Name=WEBAPPLICATION Parent=SPFarm Name=SharePoint_Config. Version: 16449 Ensure: 0, HashCode: 30474330, Id: 609b3309-241a-4193-8289-1bba6a70be50, Stack: at Microsoft.SharePoint.Administration.SPPersistedObject.Update() at Microsoft.SharePoint.Administration.SPAlternateUrlCollection.Update() at Microsoft.SharePoint.ApplicationPages.IncomingUrlPage.BtnSave_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.Button.OnClick(EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP._admin_editincomingurl_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) at System.Web.HttpApplication.ResumeSteps(Exception error) at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) at System.Web.HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr) at System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) 06/06/2007 14:36:31.51 w3wp.exe (0x1620) 0x1988Windows SharePoint Services Topology 75bdHigh UpdatedConcurrencyException: The object SPAlternateUrlCollection Name=WEBAPPLICATION Parent=SPFarm Name=SharePoint_Config was updated by another user. Determine if these changes will conflict, resolve any differences, and reapply the second change. This error may also indicate a programming error caused by obtaining two copies of the same object in a single thread. Previous update information: User: **DomainName**\**UserName1** Process:w3wp Machine:**ServerName** Time:**Date ****Time** Current update information: User: **DomainName**\**UserName2** Process:w3wp Machine:**ServerName****Date ****Time** w3wp.exe (0x1620) 0x1988Windows SharePoint Services Topology 8xqyHigh ConcurrencyException: Old Version : 16449 New Version : 0  

原因

如果前端伺服器上檔系統快取的內容比組態資料庫的內容還新,就會發生此問題。 執行系統復原之後,您可能必須手動清除本地伺服器上的檔案系統快取。

解決方案

若要解決此問題,請清除伺服器數位中執行 Windows SharePoint Services 定時器服務的所有伺服器上的檔案系統快取。 如果要執行這項操作,請依照下列步驟執行:

  1. 停止定時器服務。 如果要執行這項操作,請依照下列步驟執行:

  2. 按一下 [開始],指向 [系統管理工具],然後按一下 [服務]

  3. 以滑鼠右鍵按兩下 [Windows SharePoint Services 定時器],然後按兩下 [停止]

  4. 關閉 Services 控制台。

  5. 在執行 Microsoft Office SharePoint Server 2007 且管理中心網站裝載所在的計算機上,按兩下 [ 開始],按兩下 [ 執行],輸入 Explorer,然後按 ENTER。

  6. 在 Windows 檔案總管中,找出並按兩下列資料夾: 磁碟驅動器: \Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config*GUID*

    附註

    • 碟驅動器 佔位元會指定 Windows 安裝所在磁碟驅動器的字母。 根據預設,Windows 會安裝在 C 磁碟驅動器上。

    • GUID 佔位元會指定 GUID 資料夾。

    • [應用程式資料] 資料夾可能會隱藏起來。 若要檢視隱藏的資料夾,請遵循下列步驟:

      1. 在 [ 工具] 功能表上,按兩下 [資料夾選項]

      2. 按兩下 [ 檢視] 索引 標籤。

      3. 在 [ 進階設定 ] 列表中,按兩下 [ 隱藏檔案和資料夾 ] 底下的 [顯示隱藏 的檔案和資料夾],然後按兩下 [ 確定]

    • 在 Windows Server 2008 中,組態快取位於下列位置: 磁盤驅動器:\ProgramData\Microsoft\SharePoint\Config*GUID*

  7. 備份 Cache.ini 檔案。

  8. 刪除 GUID 資料夾中的所有 XML 組態檔。 這麼做可讓您在重建快取時,確認 GUID 資料夾已由新的 XML 組態檔取代。

    注意 當您清空 GUID 資料夾中的組態快取時,請確定您不會刪除 GUID 資料夾和位於 GUID 資料夾中的 Cache.ini 檔案。

  9. 按兩下 Cache.ini 檔案。

  10. 在 [ 編輯] 功能表上,按兩下 [全選]

  11. [編輯] 功能表中,按一下 [刪除]

  12. 輸入 1, 然後按兩下 [檔案] 選單上的 [ 儲存 ]。

  13. 按一下 [檔案] 功能表的 [結束]

  14. 啟動定時器服務。 如果要執行這項操作,請依照下列步驟執行:

  15. 按一下 [開始],指向 [系統管理工具],然後按一下 [服務]

  16. 以滑鼠右鍵按兩下 [Windows SharePoint Services 定時器],然後按兩下 [開始]

  17. 關閉 Services 控制台。

    注意 檔系統快取會在您執行此程序之後重新建立。 請確定您在伺服器陣列中的所有伺服器上執行此程式。

  18. 請確定 Cache.ini 檔案已更新。 例如,如果快取已更新,就不應該再是 1。

  19. 按兩下 [開始],指向 [ 程式],指向 [ 系統管理工具],然後按兩下 [SharePoint 3.0 管理中心]

  20. 按兩下 [作業] 索引標籤,然後按兩下 [全域設定] 下的 [定時器工作狀態]

  21. 在定時器作業清單中,確認 [ 設定重新整理 ] 項目的狀態為 [成功]

  22. 在 [ 檔案] 功能表上,按兩下 [ 關閉]

其他相關資訊

是否仍需要協助? 請前往 Microsoft 社群