2009-10-14 3 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

+0

필자는 기능 이름을 의미했습니다. 솔루션은 실제로 기능을위한 패키지이며 파일 이름을 넘어서는 이름이 아니라고 생각합니다. 실수입니다. 일반적으로 stsadm을 사용하는 이유는 GUI보다 더 일관성있게 작동하기 때문입니다 (일부 작업에서 시간 초과 등). – Mayo

+0

@mayo - 기능을 비활성화하고 .wsp를 삭제하면이 행이 여전히이 테이블에있는 것 같습니다. 비활성화해야하는 기능을 식별 할 수있는 방법이 있습니까? setuppath에 대한 열은 'Features \ MinimalPublishingLayouts \ PageLayouts \ mypage.aspx'이지만이 기능은 비활성화되었습니다. – 78lro

0

FeatureDeactivated 이벤트 또는 이와 유사한 항목에서 기능을 비활성화 할 때 문제가 발생하지 않으면 (예 : FeatureDeactivated 이벤트에서 처리되지 않은 예외) 제거하는 기능은 추적을 떠나서는 안됩니다.

나는 아직도 사이트에 걸려있는 기능으로 끝나기 때문에 SharePoint Manager을 사용하는 것이 좋습니다. 웹 응용 프로그램/사이트 모음에 설치된 모든 것을보고 원하는 기능을 삭제할 수 있습니다. 이 모든 작업은 SharePoint 개체 모델을 통해 수행됩니다. 즉, 데이터베이스에서 직접 아무 것도 삭제하지 않으므로 도구가 잘 작동합니다.

+0

따라서 마스터 페이지 라이브러리의 파일이라도 AllDocs 테이블에 항목이 없어야합니다. 어쩌면 이것은 올바르게 비활성화하지 못한 기능의 이전 배포 일 수 있습니다. – 78lro

+0

@ Hugo - 나는 셰어 포인트 매니저를 보게 될 것이다. 나는 이것을 전에 사용했지만이 목적을 위해 사용하지는 않았다. thx – 78lro

+0

나는 이것이 범인일지도 모른다고 생각하면서 파일 요소의 ignoreifalreadyexists 속성을 조사하는데 약간의 시간을 보냈다. - http://www.sharepointvoodoomagic.com/2009/01/ignoreifalreadyexists.html – 78lro

관련 문제