隐藏的命令stsadm –o deleteconfigurationobject –id {GUID}
问题描述
===========
最近遇到一个问题, 一个infopath form template上传后一直处于installing的状态, 再上传新的报错, 界面上删不掉, 用stsadm removeformtemplate也删不掉, Activate也报错.
在DB层次(目标是Config DB)试着去查找这个form相关的对象, 发现跟正常的form相比, 这个问题form的类型(Microsoft.Office.InfoPath.Server.Administration.FormTemplate)缺少很多相关对象. 这些对象的类型包括:
a. SPSolution
b. SPPersistedFile
c. SPFeatureDefinition
d. Microsoft.Office.InfoPath.Server.Administration.PersistedString
这里用到的工具是之前共享给大家过的<<如何在某一数据库的所有表的所有列上搜索一个字符串?>>.
正犯愁如何才能摆脱这个处于错误状态的form对象. 大家都知道胆敢手动修改sharepoint的数据库是个什么严重后果.
有个朋友提示说有个隐藏的stsadm命令叫做deleteconfigurationobject的, 也许适用.
经过一系列的测试, 发现这个命令正好适合我这里的场景. 用它删掉了问题form object后, 再次上传那个form template, 问题解决.
注意, 这个命令之所以隐藏, 是因为它非常危险. 因为SharePoint数据库中的数据条目之间的相互引用非常多, 单纯干掉一个object难免会破坏一些关联关系.
所以, 运行这个命令之前, 请备份所有的数据库.
以便出问题后, 进行恢复.
参考资料
============
The undocumented “deleteconfigurationobject” parameter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2010-03-30 SOS 的帮助输出