언어팩을 설치한 후 마법사를 돌리면 아래와 같이 에러가 나타납니다.

이유는 쉐어포인트 2010에서는 Office 2013을 지원하지 않기 때문입니다.

예.. 그렇습니다.

저는 쉐어포인트 핫픽스까지 설치 하고 난 후 언어팩을 잊고 오피스를 설치 한 후에 언어팩을 설치 하니..

아래와 같은 에러가 발생 되었습니다.

Could not load file or assembly 'Microsoft.Office.InfoPath, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. 지정된 파일을 찾을 수 없습니다.

방법은….

오피스 2013에서 Infopath만 삭제!

그러면 아래와 같이 성곡적으로 마법사를 구성할 수 있습니다.


고맙습니다.


MySite User Profile이 없는 경우 생성하는 코드를 입력하고 CreateUserProfile, CreatePersonalSite 을 실행하면 아래와 같은 에러가 발생합니다.

Access Denied: To create a user profile, you must be an administrator, or create your own profile and have personal features rights.

 

제가 작성한 코드는 아래와 같습니다.

SPSecurity.RunWithElevatedPrivileges(delegate()
{
	using (SPSite oSite = new SPSite(strSiteUrl))
	{
		SPServiceContext context = SPServiceContext.GetContext(oSite);
		UserProfileManager profileManager = new UserProfileManager(context);
		UserProfile userProfile;
		if (!profileManager.UserExists(strAccountName))
		{
			SPContext.Current.Site.AllowUnsafeUpdates = true;
			SPContext.Current.Web.AllowUnsafeUpdates = true;
			userProfile = profileManager.CreateUserProfile(strAccountName);
			SPContext.Current.Web.AllowUnsafeUpdates = false;
			SPContext.Current.Site.AllowUnsafeUpdates = false;
		}
	}
});

위의 문제는 UserProfile에 접근 권한이 없어서 발생되는 것입니다.

아래와 같이 진행하시면 됩니다.

  1. 중앙관리로 이동
  2. 응용프로그램 관리 –> 서비스 응용 프로그램 관리
  3. UserProfile Services 선택 후 리본 메뉴의 관리자 선택
  4. 시스템 관리자 계정 입력 후 모든 권한 체크

를 하시면 됩니다.

이미지로 보시면 아래와 같습니다.

 

그리고 난 후 UserProfile을 생성하시면 정상적으로 생성 됩니다.

추가로 제가 AllowUnsafeUpdate가 없는 경우 아래와 같은 에러메시지가 나타납니다.

The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again.

 

위의 메시지 때문에 아래의 코드를 입력한 것이니 참고 하시기 바랍니다.

			SPContext.Current.Site.AllowUnsafeUpdates = true;
			SPContext.Current.Web.AllowUnsafeUpdates = true;

			SPContext.Current.Web.AllowUnsafeUpdates = false;
			SPContext.Current.Site.AllowUnsafeUpdates = false;

 

이상입니다.

 

고맙습니다.


my site 관련 된 작업을 진행하다가 사이트를 삭제하고 다시 생성하려고 하는데.. 생성이 되지 않았습니다.

 

에러 내용은 아래와 같습니다.

Exception attempting to ApplyWebTemplate to SPSite http://my.dev.doosan.com: Microsoft.SharePoint.SPException: A list, survey, discussion board, or document library with the specified title already exists in this Web site.  Please choose another title. ---> System.Runtime.InteropServices.COMException (0x81020012): A list, survey, discussion board, or document library with the specified title already exists in this Web site.  Please choose another title.     at Microsoft.SharePoint.Library.SPRequestInternalClass.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId)     at Microsoft.SharePoint.Library.SPRequest.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId)     --- End of inner exception stack trace ---     at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)     at Microsoft.SharePoint.Library.SPRequest.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId)     at Microsoft.SharePoint.SPWeb.ApplyWebTemplate(String strWebTemplate)     at Microsoft.SharePoint.ApplicationPages.TemplatePickerUtil.ApplyWebTemplateAndRedirect(SPSiteAdministration siteAdministration, String strWebTemplate, String strRedirect, Boolean bCreateDefaultGroups, Page page, Boolean bDeleteOnError) Attempting to delete the site collection.

 

아래와 같은 내용도 있습니다.

System.Runtime.InteropServices.COMException: A list, survey, discussion board, or document library with the specified title already exists in this Web site.  Please choose another title.    at Microsoft.SharePoint.Library.SPRequestInternalClass.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId)     at Microsoft.SharePoint.Library.SPRequest.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId)

 

좀 찾아보니..

onet.xml 등의 사이트 템플릿 xml이 삭제되거나 했을 경우에 발생되는 에러입니다.

 

저는 my site를 만들면서 해당 onet.xml과 특정 파일들을 직접 수정하는 작업을 진행하였는데.

Web Application을 삭제하면서 같이 삭제 된 것 같습니다.

 

즉. 다시 onet.xml을 살려 놓으면 됩니다.

 

그리고 IIS Reset..

그러면 정상적으로 생성되는 것을 확인 할 수 있습니다.

 

이상입니다.

 

고맙습니다.


XDocument Transformation 시 XmlWriter에서 아래와 같은 오류가 발생되었습니다.


영문의 경우 아래와 같습니다.
Token StartElement in state EndRootElement would result in an invalid XML document. Make sure that the ConformanceLevel setting is set to ConformanceLevel.Fragment or ConformanceLevel.Auto if you want to write an XML fragment.

국문의 경우에는 아래와 같습니다.
상태 EndRootElement의 토큰 StartElement은(는) XML 문서를 사용할 수 없게 할 수 있습니다. XML 단편을 쓰려면 ConformanceLevel 설정을 ConformanceLevel.Fragment 또는 ConformanceLevel.Auto로 설정해야 합니다.

소스는 아래와 같습니다.

#region // static string GetTransformation(this XDocument xDoc, string strXslPath) //
/// <summary>
/// XDocument에 Xsl를 트랜스포메이션 한 후 해당 데이터를 반환한다.
/// </summary>
/// <param name="xDoc">Xml Doc</param>
/// <param name="strXslPath">Xsl Path</param>
/// <returns>Transform Data</returns>
public static string GetTransformation(this XDocument xDoc, string strXslPath)
{
	string strResult = String.Empty;
	XslCompiledTransform xsl = new XslCompiledTransform(true);
	xsl.Load(strXslPath);

	using (var ms = new MemoryStream())
	{
		using (var writer = XmlWriter.Create(ms))
		{
			xsl.Transform(xDoc.CreateReader(), writer);

			writer.Flush();
			ms.Position = 0;

			strResult = Encoding.UTF8.GetString(ms.GetBuffer());
		}
	}

	return strResult;
}
#endregion


위 소스에서 XmlWriter 생성시 XmlWriterSettings 를 추가하여 해결 할 수 있습니다.

변경 된 소스는 아래와 같습니다.

#region // static string GetTransformation(this XDocument xDoc, string strXslPath) //
/// <summary>
/// XDocument에 Xsl를 트랜스포메이션 한 후 해당 데이터를 반환한다.
/// </summary>
/// <param name="xDoc">Xml Doc</param>
/// <param name="strXslPath">Xsl Path</param>
/// <returns>Transform Data</returns>
public static string GetTransformation(this XDocument xDoc, string strXslPath)
{
	string strResult = String.Empty;
	XslCompiledTransform xsl = new XslCompiledTransform(true);
	xsl.Load(strXslPath);

	using (var ms = new MemoryStream())
	{
		XmlWriterSettings settings = new XmlWriterSettings()
		{
			ConformanceLevel = ConformanceLevel.Auto
		};

		using (var writer = XmlWriter.Create(ms, settings))
		{
			xsl.Transform(xDoc.CreateReader(), writer);

			writer.Flush();
			ms.Position = 0;

			strResult = Encoding.UTF8.GetString(ms.GetBuffer());
		}
	}

	return strResult;
}
#endregion


이렇게 하면 에러를 수정할 수 있습니다.

이상입니다.

감사합니다.


쉐어포인트 2010에 Web Analytics가 동작하지 않아서 데이터가 쌓이지 않는 문제가 발생했습니다.

뭐.. 데이터가 쌓이지 않는게 아니라… 데이터는 쌓여 있는데 나오지가 않았습니다.

 

아래와 같은 현상입니다.

 

좌측 메뉴에 페이지 보기 수를 클릭해서 보게 되면 아래와 같은 메시지를 볼 수 있습니다.

한글

이 보고서에 사용할 수 있는 데이터가 없습니다. 가능한 원인은 다음과 같습니다. (1) Web Analytics가 데이터를 생성할 만큼 충분히 오랫동안 사용 가능 상태가 아니었습니다. (2) 데이터가 부족하여 이 보고서를 생성할 수 없습니다. (3) 이 보고서에 필요한 데이터 로깅이 사용되도록 설정되어 있지 않을 수 있습니다. (4) 이 보고서에 필요한 수준에서 데이터 집계가 사용되도록 설정되어 있지 않을 수 있습니다.

 

영문

There is no data available for this report. Here are some possible reasons: (1) Web Analytics has not been enabled long enough to generate data; (2) There is insufficient data to generate this report; (3) Data logging required for this report might not be enabled; (4) Data aggregation might not be enabled at the level required for this report.

 

만약 데이터가 쌓이지 않는다면 아래와 같이 따라 하시기 바랍니다.

 

1. 서비스의 실행 여부 확인

중앙관리 –> 시스템 설정 –> 서버 –> 서버의 서비스 관리로 이동합니다.

그리고 Web Analytics 웹 서비스, Web Analytics 데이터 처리 서비스 서비스의 시작여부를 확인하시기 바랍니다.

시작됨으로 표시된다면 아래와 같이 진행합니다.

 

2. 타이머 잡의 실행 여부 확인

중앙관리 –> 모니터링 –> 타이머 작업 –> 작업 정의 검토로 이동합니다.

Web Analytics 트리거 워크플로 타이머 작업을 선택하고 아래쪽에 위치한 지금 실행을 선택합니다. (중요한 부분이 예약 실행 시간인데 거의 새벽으로 설정되어 있습니다. 머신이 새벽시간에도 동작 중이어야 한다는 것입니다. 저는 끄고 다니는 터라 실행 시간을 오후로 조정하였습니다.)

 

이후 중앙관리 –> 모니터링 –> 작업 기록으로 이동하여 지금 실행한 타이머 잡의 진행 상태를 확인합니다.

 

한글의 경우 Web Analytics 트리거 워크플가 아닌 Application Server Timer Job이라는 이름이 표시됩니다.

해당 타이머 잡이 성공으로 잘 동작되었다면 아래로 이동합니다.

만약 실패하였다면 로그를 분석하여 실패의 원인을 해결하셔야 합니다.

 

저의 경우에는 실패로 확인되어 해결을 아래와 같이 하였습니다.

2012/08/29 - [Developer/Troubleshoot] - Sharepoint 2010 Web Analytics Trigger Workflows Timer Job [Access is Denied (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))]


실패의 원인은 여러 가지가 있으므로 찾아보고 해결하셔야 할 것 같습니다.

 

3. Sharepoint Service Pack 설치 여부

SP1이 설치되어 있는 머신이라면… 핫픽스의 설치여부도 확인하셔야 합니다.

 

중앙 관리에서 직접 링크로 접속합니다.

http://중앙관리Url/_admin/FarmServers.aspx

 

 

아래와 같은 화면에서 Configuration database version을 확인합니다.

14.0.6109.5002 이상의 핫픽스를 적영하셔야 하는 것 같습니다.

 

거의 SP1이 올라가면 동작이 재대로 되지 않는 것 같으나 이 역시 확인해봐야 할 것 같습니다.

버전의 구분은 아래 링크에서 확인 할 수 있습니다.

SharePoint 2010 Build Numbers

 

그리고 핫픽스는 아래 링크에서 최신 버전을 다운받으실 수 있습니다.

SharePoint 2010 제품에 대한 업데이트

 

최신 버전의 핫픽스를 적용합니다.

 

그러면 거의 아래와 같이 Web Analytics를 확인 할 수 있습니다.

 

 

로컬이라 페이지 뷰가 별로 없네요.. ^^;;

 

제 생각에는 거의 핫픽스 문제인 것 같은데요.

핫픽스의 경우에는 충분한 검토가 필요할 것 같습니다.

 

덧) 시스템을 오늘 구축하셨다면 최소 2~3일 정도의 시간이 소요됩니다.

참고하세요…

 

 

이상입니다.

감사합니다.


 

Windows Forms으로 Sharepoint 관련 툴을 만들던 중 아래와 같은 에러가 발생하였습니다.

 

한글

System.Runtime.InteropServices.COMException (0x80040154): 80040154 오류로 인해 CLSID가 {BDEADF26-C265-11D0-BCED-00A0C90AB50F}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다.

 

영문

System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {9DB232DC-50D6-4AAF-BA35-E510E16B2056} failed due to the following error: 80040154.

 

System.Runtime.InteropServices.COMException (0x80040154): 80040154 오류로 인해 CLSID가 {BDEADF26-C265-11D0-BCED-00A0C90AB50F}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다.
   위치: Microsoft.SharePoint.Library.SPRequest..ctor()
   위치: Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(SPSite site, String name, Boolean bNotGlobalAdminCode, String strUrl, Boolean bNotAddToContext, Byte[] UserToken, String userName, Boolean bIgnoreTokenTimeout, Boolean bAsAnonymous)
   위치: Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)
   위치: Microsoft.SharePoint.Administration.SPFarm.get_RequestAny()
   위치: Microsoft.SharePoint.SPSecurity.GetCurrentUserTokenNoApplicationPrincipalDelegated()
   위치: Microsoft.SharePoint.SPSecurity.GetCurrentUserToken()
   위치: Microsoft.SharePoint.SPSecurity.EnsureOriginatingUserToken()
   위치: Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
   위치: Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
   위치: StandardBoardItemAddTool.Form1.get_SPAdmin() 파일 D:\Temp\Code\Doosan.SPPerformanceTestTool\StandardBoardItemAddTool\Form1.cs:줄 41
   위치: StandardBoardItemAddTool.Form1.StandardBoardAddItem(String strSiteUrl, String strListName) 파일 D:\Temp\Code\Doosan.SPPerformanceTestTool\StandardBoardItemAddTool\Form1.cs:줄 72
   위치: StandardBoardItemAddTool.Form1.btnStart_Click(Object sender, EventArgs e) 파일 D:\Temp\Code\Doosan.SPPerformanceTestTool\StandardBoardItemAddTool\Form1.cs:줄 141

 

해당 에러의 원인은 아래와 같습니다.

64bit COM을 사용해야 하는데 플랫폼 대상이 32bit로 지정되어 있어서 나타나는 에러입니다.

 

변경은 아래와 같이 하시면 됩니다.

 

해당 프로젝트에 속성 –> 빌드 –> 플랫폼 대상을 x64로 변경하면 됩니다.

 

이상입니다.

 

감사합니다.


Event Viewer에서 하도 엄청난 양의 오류와 위험표시들이 떠 다니길래 오늘 신나게 확인하고 있습니다.

 

일단. 이번에도 역시 타이머 잡에서 오류를 내뿝고 있었습니다.

항목은 아래와 같습니다.

  • Diagnostic Data Provider: SQL Blocking Reports
  • Diagnostic Data Provider: IO Intensive SQL Queries
  • Diagnostic Data Provider: SQL Deadlocks

 

위의 순서대로 Error Message는 아래와 같습니다.

  • The blocking query diagnostics provider could not set the 'blocked process threshold' for the sql instance ae-dev. Blocking queries will not be captured in this instance. Error Code: 사용자에게 이 동작을 수행할 권한이 없습니다. RECONFIGURE 문을 실행할 권한이 없습니다. 사용자에게 이 동작을 수행할 권한이 없습니다. RECONFIGURE 문을 실행할 권한이 없습니다.
  • 'SP_TRACE_CREATE'을(를) 실행할 권한이 없습니다.
  • 'SP_TRACE_CREATE'을(를) 실행할 권한이 없습니다.

 

이것은 DataBase에 권한이 없어서 그런 것입니다.

 

권한 설정은 아래와 같이 하십니다.

먼저 SQL Menagement Studio를 엽니다.

 

그리고 해당 DB 서버에서 마우스 오른쪽 버튼 –> 속성을 선택합니다.

 

 

그리고 페이지 선택의 사용 권한을 선택합니다.

여기서 쉐어포인트의 권한사용자를 선택합니다.

 

그리고 설정변경, 추적변경에 허용에 체크합니다.

 

영문의 경우에는 Alter Settings, Alter Trace에 권한을 부여하시면 됩니다.

Administrator 계정을 안쓰고 이렇게 하니.. 이런 오류들이 발생되네요..

 

 

이렇게 변경하고 나니.. 타이머 잡에 오류는 사라졌네요.. 지금까지는..

 

해당 내용에 대한 출처는 아래와 같습니다.

http://sharepointsoldiers.wordpress.com/2011/11/12/eventid-6398-you-do-not-have-permission-to-run-sp_trace_create/

 

이상입니다.

 

감사합니다.


Sharepoint 2010 Web Analytics 데이터가 쌓이지 않아 중앙관리 모니터링 –> 작업 기록에서 확인 해 보니 Web Analytics Trigger Workflows Timer Job에서 아래와 같은 오류가 발생되고 있었습니다.

 

 

 

ULS Log 메시지를 확인 해 보니 아래와 같은 상태였습니다.

08/29/2012 17:08:46.76	OWSTIMER.EXE (0x0FC0)	0x1004	SharePoint Foundation	Monitoring	nasq	Medium	Entering monitored scope (Timer Job WebAnalyticsWorkflowTrigger)	716083d1-3583-4472-a5fb-775128a4deda	
08/29/2012 17:08:46.76	OWSTIMER.EXE (0x0FC0)	0x1004	SharePoint Foundation	Database	4ohp	High	Enumerating all sites in SPContentDatabase Name=WSS_Content_eeea48bfe6244deab7631f143a198559.	716083d1-3583-4472-a5fb-775128a4deda	
08/29/2012 17:08:46.76	OWSTIMER.EXE (0x0FC0)	0x1004	SharePoint Foundation	Database	4ohq	Medium	Site Enumeration Stack:    at Microsoft.SharePoint.Administration.SPSiteCollection.get_Names()     at Microsoft.SharePoint.Administration.SPAllSitesJobDefinition.Execute(SPContentDatabase contentDatabase, SPJobState jobState)     at Microsoft.Office.Server.WebAnalytics.WebAnalyticsWorkflowTriggerJobDefinition.Execute(SPContentDatabase contentDatabase, SPJobState jobState)     at Microsoft.SharePoint.Administration.SPContentDatabaseJobDefinition.Execute(SPJobState jobState)     at Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService, Int32& result)     at Microsoft.SharePoint.Administration.SPTimerJobInvoke.Invoke(TimerJobExecuteData& data, Int32& result)	716083d1-3583-4472-a5fb-775128a4deda	
08/29/2012 17:08:46.76	OWSTIMER.EXE (0x0FC0)	0x1004	SharePoint Foundation	General	8e2s	Medium	Unknown SPRequest error occurred. More information: 0x80070005	716083d1-3583-4472-a5fb-775128a4deda	
08/29/2012 17:08:46.76	OWSTIMER.EXE (0x0FC0)	0x1004	SharePoint Foundation	Timer	6398	Critical	The Execute method of job definition Microsoft.Office.Server.WebAnalytics.WebAnalyticsWorkflowTriggerJobDefinition (ID 326c241d-3be9-40d6-87cc-e36a1d31dd59) threw an exception. More information is included below.  액세스가 거부되었습니다. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))	716083d1-3583-4472-a5fb-775128a4deda	
08/29/2012 17:08:46.76	OWSTIMER.EXE (0x0FC0)	0x1004	SharePoint Foundation	Timer	72ae	Unexpected	Exception stack trace:    at Microsoft.SharePoint.Library.SPRequest.GetAllWebsOfSite(String bstrUrl, Object& pvarWebs, Object& pvarWebIds, Object& pvarParentWebs, Object& pvarLangs, Object& pvarTitles, Object& pvarUIVersions, Object& pvarFlags, Object& pvarWebTemplates, Object& pvarConfigurations, Object& pvarMasterUrls, Object& pvarCustomMasterUrls)     at Microsoft.SharePoint.SPSite.SPWebCollectionProvider.GetWebsData(String[]& strNames, String[]& strServiceRelUrls, Guid[]& guidWebIds, Int32[]& nLanguages, String[]& strTitles, String[]& strDescriptions, String[]& strCreationTimes, String[]& strModifiedTimes, Boolean[]& bUserIsWebAdmins, Int32[]& nWebTemplates, Int16[]& nProvisionConfigs, Int16[]& nMeetingCounts, Int32[]& nUIVersions, Int32[]& nFlags, String[]& strMasterUrls, String[]& strCustomMasterUrls)     at Microsoft.SharePoint.SPWebCollection.EnsureWebsData()     at Microsoft.SharePoint.SPBaseCollection.GetEnumerator()     at Microsoft.Office.Server.WebAnalytics.WebAnalyticsWorkflowTriggerJobDefinition.ProcessSite(SPSite siteToProcess, SPJobState jobState)     at Microsoft.SharePoint.Administration.SPAllSitesJobDefinition.Execute(SPContentDatabase contentDatabase, SPJobState jobState)     at Microsoft.Office.Server.WebAnalytics.WebAnalyticsWorkflowTriggerJobDefinition.Execute(SPContentDatabase contentDatabase, SPJobState jobState)     at Microsoft.SharePoint.Administration.SPContentDatabaseJobDefinition.Execute(SPJobState jobState)     at Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService, Int32& result)	716083d1-3583-4472-a5fb-775128a4deda	
08/29/2012 17:08:46.76	OWSTIMER.EXE (0x0FC0)	0x1004	SharePoint Foundation	Monitoring	b4ly	Medium	Leaving Monitored Scope (Timer Job WebAnalyticsWorkflowTrigger). Execution Time=5.05387946787877	716083d1-3583-4472-a5fb-775128a4deda	

 

Event Viewer에서는 아래와 같이 나타나더군요.

The Execute method of job definition Microsoft.Office.Server.WebAnalytics.WebAnalyticsWorkflowTriggerJobDefinition (ID 326c241d-3be9-40d6-87cc-e36a1d31dd59) threw an exception. More information is included below.

액세스가 거부되었습니다. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
로그 이름:         Application
원본:            Microsoft-SharePoint Products-SharePoint Foundation
날짜:            2012-08-29 오후 5:37:01
이벤트 ID:        6398
작업 범주:         Timer
수준:            위험
키워드:           
사용자:           SYSTEM
컴퓨터:           AE-Dev.dev.com
설명:
The Execute method of job definition Microsoft.Office.Server.WebAnalytics.WebAnalyticsWorkflowTriggerJobDefinition (ID 326c241d-3be9-40d6-87cc-e36a1d31dd59) threw an exception. More information is included below.

액세스가 거부되었습니다. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
이벤트 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-SharePoint Products-SharePoint Foundation" Guid="{6FB7E0CD-52E7-47DD-997A-241563931FC2}" />
    <EventID>6398</EventID>
    <Version>14</Version>
    <Level>1</Level>
    <Task>12</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="2012-08-29T08:37:01.027698600Z" />
    <EventRecordID>506032</EventRecordID>
    <Correlation ActivityID="{BB93E47E-9E25-4170-9F68-C02FF2A001CE}" />
    <Execution ProcessID="4032" ThreadID="7680" />
    <Channel>Application</Channel>
    <Computer>AE-Dev.dev.com</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData>
    <Data Name="string0">Microsoft.Office.Server.WebAnalytics.WebAnalyticsWorkflowTriggerJobDefinition</Data>
    <Data Name="string1">326c241d-3be9-40d6-87cc-e36a1d31dd59</Data>
    <Data Name="string2">액세스가 거부되었습니다. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))</Data>
  </EventData>
</Event>

 

해결 방법은 아래와 같습니다.

일단 Configure managed accounts의 계정은 dev\mossadmin 이였습니다.

 

헌데 서비스의 계정은 local system계정으로 돌고 있었습니다.

그래서 동일하게 dev\mossadmin으로 변경하였습니다.

 

 

그랬더니.. 에러 없이 잘 동작하는군요..

이상입니다.

감사합니다.


오늘 이벤트 뷰어를 보니..

엄청난 에러가 나고 있네요 *_*;;;

 

에러 내용은 아래와 같습니다.

 

Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (1289ac64-7924-4b28-87e8-6b5999662295).

Reason: An update conflict has occurred, and you must re-try this action. The object SearchDataAccessServiceInstance was updated by DEV\mossadmin, in the OWSTIMER (4032) process, on machine AE-DEV.  View the tracing log for more information about the conflict.

Technical Support Details:
Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action. The object SearchDataAccessServiceInstance was updated by DEV\mossadmin, in the OWSTIMER (4032) process, on machine AE-DEV.  View the tracing log for more information about the conflict.
   at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()
   at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)

 

 

 

위와 같이 에러가 나고 있습니다..

 

이놈 검색해보니…

 

timer service를 중지하고 Sharepoint의 config xml을 지우고 cache.ini 파일을 1로 만든 다음 다시 timer를 시작하면 된다고 적혀 있더군요…

 

그래서 그렇게 했더니.. 에러가 사라졌습니다…

 

자 그럼 아래와 같이 진행하십니다.

 

  1. 서비스의 SharePoint 2010 Timer 중지
  2. windows server 2008 R2의 경우 다음 경로로 이동 “Drive:\ProgramData\Microsoft\SharePoint\Config”
  3. 해당 폴더에 가면 GUID로 생성되어 있는 폴더들이 있는데 이중.. cache.ini 파일이 있는 폴더를 찾음
  4. cache.ini 파일 백업
  5. 해당 폴더의 xml 파일을 모조리 삭제
  6. cache.ini 파일의 내용 편집..
  7. 해당 내용을 1로 하고 저장
  8. sharepoint 2010 timer 시작
  9. cache.ini 파일의 내용이 1이 아니면 성공…

 

이상입니다.

 

 

참고 URL은 아래와 같습니다.

http://iceatronic.net/wordpress/?p=92

http://www.social-point.com/sharepoint-2010-event-id-6482-application-server-administration-job-failed-for-service-instance-microsoft-office-server-search-administration-searchserviceinstance


 

Error occurred in deployment step 'Recycle IIS Application Pool': <nativehr>0×80070005</nativehr><nativestack></nativestack>Access denied

배포 단계 'IIS 응용 프로그램 풀 재생'에서 오류가 발생했습니다. <nativehr>0x80070005</nativehr><nativestack></nativestack>Access denied.

 

일단 상태는 아래와 같습니다.

 

Sharepoint 2010

Visual Studio 2010

Sharepoint 인증 : 클레임 인증

 

증상은 F5를 눌러서 디버깅 모드로 진입할 때 발생되었습니다.

메시지는 아래와 같습니다.

 

 

 

그리고 IIS 의 경우에는 아래와 같이 설정 되어 있습니다.

 

 

응용 프로그램 풀의 사용자 아이디가 현재 사용자의 아이디가 아닌 다른 계정으로 되어 있습니다.

 

위와 같은 환경입니다.

 

해결 방법은 일단 VS를 다시 실행하고 명령프롬프트에서 IISRESET을 실행합니다.

그래도 안되면 다음과 같이 합니다.

 

중앙관리 –> 응용 프로그램 관리 –> 사이트 모음 –> 사이트 모음 관리자 변경

 

 

주 사이트 모음 관리자 말고 보조 사이트 모음 관리자에 현재 실행 중인 컴퓨터 계정을 등록합니다.

 

전 클레임 인증으로 하였기에.. 보조 사이트 모음 관리자에 클레임 인증  기반의 사용자를 등록하였으나, 되지 않아 NTLM 인증 방식의 사용자를 등록하였습니다.

 

이렇게 하여 해결 하였습니다.

 

중요한 것이 VS의 실행 권한은 언제나 관리자 모드로 실행하셔야 되고 해당 Sharepoint Application의 SQL Data base의 접근 권한도 함께 주어져야 가능합니다.

 

참고하시기 바랍니다.

 

 

감사합니다.


참고 URL : http://blogs.msdn.com/b/suresh/archive/2011/01/01/recycle-iis-application-pool-0x80070005-access-denied-deploying-sharepoint-solution-iis-restart-issue.aspx


 
 

 

작업하다보면 아래와 같은 에러 메시지를 만나게 됩니다.

 

뭐 개발자는 당연히 web.config 파일을 수정하여 Exception Message를 확인 할 수 있도록 해 놓았을 것입니다.

 

하지만 실제 서비스되고 있는 경우에는 아래처럼 Exception message를 막아 놓습니다.

 

 

뭐 많은 분들이 알고 계시리라 생각되지만 작성해 봅니다.

 

일단 위와 같은 메시지가 나타나게 되면, 기본적으로 Sharepoint 로그 파일에 해당 내용을 작성하게 됩니다.
Sharepoint 로그의 내용을 컨트롤 하고자 하시는 분은 아래 블로그를 확인해 주세요.

http://kdmsong.tistory.com/entry/ULS-Unified-Logging-Service-Log 

 

그 로그 파일을 찾아서 위에 메시지 박스 안에 상관 관계 ID라는 GUID를 이용하여 바로 확인 할 수 있습니다.

 

기본적인 로그 파일의 위치는 아래와 같습니다.

 

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS

 

여기에서 가장 최근에 작성된 파일에 해당 로그가 남게 되어 있습니다.

 

로그파일을 복사하셔서 특정 폴더에 옮겨 놓으시고 작업하실 것을 권장합니다.

왜냐면 계속 로그가 작성 되기 때문에 용량도 커질 뿐더러 지금 방금 에러 로그가 저 멀리 가버릴 테니까요..

 

일단 로그 파일을 확보하면 로그 파일 Viewer를 이용하여 해당 파일을 엽니다.

로그 파일 Viewer로는 아래 경로의 Viewer를 추천합니다.

 

바로 상관관계ID를 이용하여 검색이 가능하기 때문입니다.

 

http://sharepointlogviewer.codeplex.com/

 

 

파일을 로드 하게 되면 위 화면처럼 엄청난 양의 로그가 보일 것입니다.

 

위의 화면에서 상단의 Filter에 Correlation을 선택하고 WebPage에서 보았던 상관관계 ID를 입력 후 검색을 하게 되면 해당 ID로 작성된 로그만 확인 할 수 있습니다.

 

 

그 많은 로그는 어디가고 중요한 로그만 남겨져 있습니다.

그 중에 Level 컬럼에서 Unexpected를 선택하시면 에러 내용을 자세히 보실 수 있습니다.

 

다른 로그 뷰어도 많이 사용해 봤는데. 이렇게 상관관계 ID로 직접 검색 되는 놈이 이놈 밖에 보지 못하여.

저는 이놈을 강력 추천합니다~

 

이상 입니다.

 

감사합니다~

 

 

SandBox Solution으로 만든 프로젝트에 웹파트를 추가하여 페이지에 붙였으나, 위와 같은 에러가 발생되었다.

엄청나게 해매다가 찾아낸 것은 바로 아래와 같습니다.

 

 


Features에 들어있어야 할 웹파트가.. 보이지 않았던 것입니다.

 

<Feature xmlns="http://schemas.microsoft.com/sharepoint/" Id="ee1a86cd-2032-4ae1-b602-c8c6ec48e2bc" Scope="Site" Title="SharePointProject2 Feature1">
  <ElementManifests>
    <ElementManifest Location="Module1\Elements.xml" />
    <ElementFile Location="Module1\OrgChartTest.aspx" />
    <ElementFile Location="asdf\asdf.webpart" />
    <ElementManifest Location="asdf\Elements.xml" />
  </ElementManifests>
</Feature>

 

이 솔루션이 만약. 센드박스가 아니라 팜 솔루션이였다면. 겔러리에 등록되지 않았다는 메시지가 나오면서 페이지에는 등록되지 않았을 것인데.

하지만 센드박스라는 훌륭한? 놈 때문에 이런 황당한 경험을 하게 되었습니다.

 

왜 Features에 빠져 있었던 건지는 알 수 없으나, 이놈 때문에 오늘 하루를 버렸네요...

ㅠ.ㅠ

 

웹 페이지 에러 화면은 아래와 같습니다.

 

 

한국어로 하자면 아래의 메시지를 확인 할 수 있습니다.

웹 파트 오류: 부분 신뢰 응용 프로그램 도메인에서 샌드박스를 작동하는 코드 래퍼의 Execute 메서드에 의해 처리되지 않은 예외가 발생했습니다. 형식이 안전한 형식으로 등록되지 않았습니다.

 

위 메시지가 꼭 이것 때문에 발생되는 것은 아닌 것 같습니다.

하지만 위의 경우에도 동일한 메시지가 나올 수 있으니 꼭 확인하기를 바라는 마음에 이 포스트를 작성하게 되습니다..

 

 

감사합니다.




 

Sharepoint 2010 에서 PostBack Event가 발생 되었을 때 아래와 같은 메시지가 나타나면서 에러가 발생되었음.

국문 : Microsoft.SharePoint.SPException: 닫히거나 삭제되어 더 이상 유효하지 않은 SPWeb 개체를 사용하려고 합니다.

영문 : Microsoft.SharePoint.SPException Trying to use an SPWeb object that has been closed or disposed and is no longer valid
 

스텍 추적 내용은 아래와 같음
 

[SPException: 닫히거나 삭제되어 더 이상 유효하지 않은 SPWeb 개체를 사용하려고 합니다.]
   Microsoft.SharePoint.WebPartPages.SPWebPartManager.get_Web() +26872963
   Microsoft.SharePoint.WebPartPages.SPWebPartManager.ActivateConnections() +316
   System.Web.UI.WebControls.WebParts.WebPartManager.OnPageLoadComplete(Object sender, EventArgs e) +70
   System.EventHandler.Invoke(Object sender, EventArgs e) +0
   System.Web.UI.Page.OnLoadComplete(EventArgs e) +11057518
   Microsoft.SharePoint.WebControls.LayoutsPageBase.OnLoadComplete(EventArgs e) +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3160

 

위와 같은 문제는 일단 아래와 같은 코드에서 발생되었음

using(SPSite site = SPContext.Current.Site)
using(SPWeb web = site.RootWeb)
{
		..........
		..........
}

 

…에서 한 작업 내용은 생성한 리스트에서 CAML Query를 이용하여 Data를 가져와 바인딩 한 것 뿐..

 

왜 이런 에러가 발생되었는지는 정확히 파악하지 못함.

해결 방법은 위의 코드를 아래와 같이 변경하면 가능함

using (SPSite site = new SPSite("http://siteUrl"))
using (SPWeb web = site.OpenWeb())
{
	......
	......
}

혹은 Using 문 없이 아래와 같이도 가능함

SPWeb web = SPContext.Current.Site.RootWeb;

 

명확한 원인을 아직 파악하지 못하여..

왜 그런 것인지에 대하여 설명하지 못합니다.

죄송합니다.

 

일단. 에러가 나지 않도록 조치는 가능 할 것 같습니다.

 

감사합니다.



 

 

IIS에서 설정 한 후 페이지를 열자마자 나타나는 'targetFramework' 특성을 인식할 수 없습니다. 특성 이름은 대/소문자를 구분합니다.

오류에 대하여…

 

 

해당 application은 .net 4.0으로 작성되었으며, IIS에서 응용프로그램 풀을 4.0으로 설정하지 않아서 에러가 발생되었음.

 

해결 방법은 역시 IIS의 응용프로그램 풀을 4.0으로 설정하면 간단히 해결 되는 문제임.

 

 

 

이렇게 설정 한 후 해당 페이지를 새로 고치면 정상적으로 페이지를 확인 할 수 있습니다.

 

 

감사합니다.




 

  1. BlogIcon 피오 2012.03.07 14:08

    감사합니다. 이유를 모르고 헤매다가 여기서 해결하고 가네요^^

 

호스트 프로세스에서 명령을 호출하는 동안 시간 초과 발생 에러

 

메시지는 아래와 같습니다.

 

Error occurred in deployment step 'Activate Features' : A timeout has occurred while invoking commands in SharePoint host process.

배포 단계 ‘기능 활성화’에서 오류가 발생했습니다. Sharepoint 호스트 프로세스에서 명령을 호출하는 동안 시간 초과가 발생했습니다.

 

Sharepoint Empty Project에 Module을 추가하고 거기에 ExtJS Library를 등록하니 해당 Library에 항목이 많아서 인지, PC가 느려서 인지.

아래와 같은 에러가 발생하였습니다.

 

 

해당 에러 메시지의 해결 방법은 Visual Studio default setting time을 regedit 이용하여 해결 할 수 있습니다.

 

경로는 다음과 같습니다.

 

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\SharePointTools

 

저는 url 설정을 하여 spUrl1, 2가 보이는군요.

원래 기본값으로 설정된 경우 아무것도 없습니다.

 

항목을 추가하여 수정하셔야 됩니다.

해당 키에 대한 내용은 여기를 선택하여 이동하여 확인 할 수 있습니다.

 

추가해야 하는 항목는 HostProcessStartupTimeout입니다.

저는 시간을 600으로 쭈욱 늘려 놓았습니다.

 

 

이렇게 하니 에러 없이 성공되는 군요..

 

 

이상입니다.

 

감사합니다.

+ Recent posts