2009-10-14 54 views
0

我發現停用Sharepoint中的功能會在內容數據庫的AllDocs表中留下錯誤的條目。這些表記錄然後使部署包含相同文件名的其他功能不可能,因爲Sharepoint抱怨它們已經存在。我如何確保停用功能不會在內容數據庫中留下舊引用?停用功能時出現Sharepoint錯誤

Microsoft明確表示,我們不應該直接在數據庫上執行查詢,否則它將不受支持。

所有最好的

回答

2

,當我試圖重新部署實際上並沒有刪除的功能,我記得收到這個錯誤。也許你只需要再走幾步呢?

stsadm -o deactivatefeature -name YourSolutionName -url http://yoururl 
stsadm -o retractsolution -name yoursolution.wsp -immediate 
stsadm -o execadmsvcjobs 
stsadm -o deletesolution -name yoursolution.wsp -override 
stsadm -o execadmsvcjobs 

編輯:我也想添加我的協議,你不應該試圖直接修改數據庫。

+0

@mayo - 我想在上面YourSolutionName將是功能名稱?通過stsadm做到這一點做了什麼額外的使用UI來做到這一點? – 78lro 2009-10-14 20:31:52

+0

我的意思是功能名稱 - 解決方案實際上是一個功能包,我不認爲它的名稱超出了文件名 - 我的錯誤。我通常使用stsadm,因爲它的表現比GUI更加一致(在某些操作中它會超時)等等。 – Mayo 2009-10-14 20:54:40

+0

@mayo - 似乎當我停用功能並刪除.wsp時,此行仍在此表中。有沒有一種方法可以確定需要停用的功能?有一個setuppath列爲'Features \ MinimalPublishingLayouts \ PageLayouts \ mypage.aspx',但是這個列已被禁用。 – 78lro 2009-10-15 13:30:33

0

除非停用某個功能(即FeatureDeactivated事件中的未處理異常或類似情況)時出現問題,否則卸載的功能不應留下痕跡。

我最後的功能仍然掛在您的網站上,我建議使用SharePoint Manager。您將能夠看到Web應用程序/網站集中安裝的所有內容,並刪除不需要的功能。所有這一切都是通過SharePoint對象模型完成的,這意味着您不會直接從數據庫中刪除任何內容,並且該工具運行良好。

+0

因此,即使對於母版頁庫中的文件,它也不應該在AllDocs表中保留任何條目?也許這可能是以前部署的功能未能正確停用。 – 78lro 2009-10-14 20:29:27

+0

@雨果 - 我會看看分享點經理,我以前使用過它,但不是爲了這個目的。 thx – 78lro 2009-10-14 20:33:25

+0

我確實花了一些時間看文件元素上的ignoreifalreadyexists屬性,因爲我認爲這可能是罪魁禍首 - http://www.sharepointvoodoomagic.com/2009/01/ignoreifalreadyexists.html – 78lro 2009-10-14 20:38:41

相關問題