更改或删除备用访问映射时,“发生更新冲突,必须重试此操作”

症状

在 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. 关闭服务控制台。

  5. 在运行 Microsoft Office SharePoint Server 2007 并托管管理中心网站的计算机上,单击“ 开始”,单击“ 运行”,键入“资源管理器”,然后按 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. 关闭服务控制台。

    注意 执行此过程后,将重新创建文件系统缓存。 请确保在服务器场中的所有服务器上执行此过程。

  18. 确保已更新 Cache.ini 文件。 例如,如果缓存已更新,则它不应再为 1。

  19. 单击“ 开始”,指向 “程序”,指向 “管理工具”,然后单击“ SharePoint 3.0 管理中心”。

  20. 单击“操作”选项卡,然后单击“全局配置”下的“计时器作业状态”。

  21. 在计时器作业列表中,验证 “配置刷新 ”项的状态是否为 “成功”。

  22. 在“ 文件 ”菜单上,单击“ 关闭”。

更多信息

仍然需要帮助? 请转到 SharePoint 社区