You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SharePoint 2010卸载StoragePoint报错:找不到指定EndPointId

解决SharePoint 2010卸载StoragePoint时的计时器作业报错问题

我来帮你搞定这个头疼的问题——这个报错明显是某个文档版本的端点关联数据残留导致的,咱们一步步排查修复:

1. 定位问题文档和版本

首先得找到报错里提到的那个具体项目:

  • 用PowerShell快速定位站点中的目标文档,把http://your-site-url替换成实际站点URL,itemid换成报错里的ItemId:
    $site = Get-SPSite "http://your-site-url"
    $web = $site.OpenWeb()
    $listItem = $web.GetListItemById([System.Guid]"itemid")
    Write-Host "找到目标文档: " $listItem.Name " 所在列表: " $listItem.ParentList.Title
    
  • 打开这个文档的版本历史,找到UIVersion: 512对应的版本,确认它是否真的完成召回,或者有没有版本损坏的情况。

2. 清理StoragePoint数据库残留数据

既然你已经看过StoragePoint数据库,重点检查这几个核心表(操作前务必备份数据库!):

  • 查询BinaryObjects表,定位目标项目的残留记录:
    SELECT * FROM BinaryObjects WHERE SiteId = 'siteid' AND ItemId = 'itemid' AND UIVersion = 512
    
  • 如果查到记录,再检查EndPoints表,确认报错里的EndPointId是否已经不存在(如果端点已被删除,那这条记录就是无效残留)。
  • 确认无误后,删除这条BinaryObjects里的残留记录——别担心,这个记录只是StoragePoint的关联数据,不会影响SharePoint本身的文档内容。

3. 重置计时器作业

清理完数据库后,处理报错的计时器作业:

  • 先找到并暂停相关的StoragePoint召回作业:
    $recallJob = Get-SPTimerJob | Where-Object {$_.Name -match "StoragePoint.*Recall"}
    $recallJob.Status = [Microsoft.SharePoint.Administration.SPTimerJobStatus]::Disabled
    $recallJob.Update()
    
  • 清理作业历史,避免旧错误重复触发:
    $recallJob.DeleteHistory()
    
  • 重启SharePoint计时器服务,再重新启用作业,手动运行一次验证是否还报错。

4. 强制卸载的备选方案

如果前面的步骤都没解决问题,试试用强制卸载参数:

  • 找到StoragePoint的卸载程序(通常在C:\Program Files\Metalogix\StoragePoint目录下),打开命令提示符运行:
    StoragePointUninstaller.exe /force
    
  • 这个参数会忽略部分残留关联数据,强制完成卸载,但前提是你已经确认所有内容都已经召回,并且备份好所有数据。

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:42:25