手工删除ProjectServer2007中无法签入的项目
在Project Server 2007测试过程中,有一个项目由于频繁的测试,导致该项目处于签出状态无法正常签入。在管理界面中试图删除该项目,但是删除项目前系统将会检查该项目是否签出,签出状态下的项目系统将会无法完成删除操作。
在管理界面中的队列管理中可以看到该任务一直处在队列中等待处理。对其他项目的操作都可以正常完成,就是这个任务无法正常执行,直至超时中止该任务。于是,只有想办法手工删除该项目。
登录数据库服务器,备份数据库。
首先打开ProjectServer_Published ,找到MSP_Projects表,这个表里有ProjectServer中的所有的项目。我曾试图找到签入签出的标志,想直接把它改成签入状态,然后通过管理页面删除它,可惜,我的耐心不够,没有找到,因此我记录下了他的Proj_UID,因为,我知道要到MSP_TASKs中删除这个项目下所有的任务。(我不知道该先删除哪个,是先删除MSP_TASKs下的任务,还是应该先删除MSP_Projects下的项目,反正我先删除的任务),我在MSP_TASKS表中用查询语句删除了proj_uid等于这个项目的Proj_uid的所有任务,删除后,我试了一下,通过PWA,将会报告webpart出错,然后,我又删掉了这个项目,PWA就回复了正常,项目中心中就找不到这个项目的踪迹了。
为了清理干净数据,我用相同的方法删除了ProjectServer_Draft中这两张表的相关数据。
然后我进入ProjectServer_Reporting中,依次删除了MSP_EpmAssignmentByDay,MSP_EpmAssignment,MSP_EpmTaskbyDay,MSP_EpmTask,MSP_Project中的相关条目(projectUID=proj_UID)。
到目前为止,还没有发现大的问题。
我不知道这种情况是怎样造成的,也不知道有没有很好的解决方法(比如:将签入状态强制改成已签入)。如果有哪位大侠有更好的解决方法,望告知。