代码改变世界

修复 SharePoint HRESULT:0x80070094 问题

2009-05-15 11:15  努力学习的小熊  阅读(2248)  评论(1编辑  收藏  举报

今天在服务器上打开SharePoint管理中心创建Web应用程序,创建过程中突然出现错误信息,创建过程被中断,页面提示——异常来自 HRESULT:0x80070094。于是习惯性打开IIS和事件查看器想看看出现了什么错误,IIS打开无内容,而且连接不到当前服务器,事件查看器中出现如下错误信息:

SharePointProblem

经询问同事,说这个问题出现很久了,一直没有解决,每次都是在重启IIS后,立刻打开IIS可以看到内容,但是Web应用程序创建一直都出现这个错误。

下面是事件查看器中Event ID为6482、6398、7076的错误信息。

事件类型:    错误
事件来源:    Windows SharePoint Services 3
事件种类:    计时器
事件 ID:    6398
日期:        2009-5-15
事件:        10:35:06
用户:        N/A
计算机:    SC-LEARNING
描述:
ID 为 235f9152-138d-4181-a166-cdc0256b03e1 的作业定义 Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob 的 Execute 方法引发异常。下面包含详细信息。

尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

 

事件类型:    错误
事件来源:    Office SharePoint Server
事件种类:    Office Server 共享服务
事件 ID:    7076
日期:        2009-5-15
事件:        10:35:06
用户:        N/A
计算机:    SC-LEARNING
描述:
执行应用程序服务器管理作业时出现异常。

消息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

技术支持详细信息:
System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

Server stack trace:
   在 System.DirectoryServices.Interop.UnsafeNativeMethods.IAdsContainer.GetObject(String className, String relativeName)
   在 System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
   在 Microsoft.SharePoint.AdministrationOperation.Metabase.MetabaseObjectCollection`1.Find(String name)
   在 Microsoft.SharePoint.AdministrationOperation.Metabase.MetabaseObjectCollection`1.get_Item(String name)
   在 Microsoft.SharePoint.AdministrationOperation.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 Microsoft.SharePoint.AdministrationOperation.SPAdministrationOperation.DoProvisionIisApplicationPool(String name, Int32 identityType, String userName, String password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   在 System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]:
   在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   在 Microsoft.SharePoint.AdministrationOperation.SPAdministrationOperation.DoProvisionIisApplicationPool(String name, Int32 identityType, String userName, String password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 Microsoft.Office.Server.Administration.SharedWebServiceInstance.CreateSharedWebServiceApplicationPool(SharedResourceProvider srp)
   在 Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

 

事件类型:    错误
事件来源:    Office SharePoint Server
事件种类:    Office Server 共享服务
事件 ID:    6482
日期:        2009-5-15
事件:        10:35:06
用户:        N/A
计算机:    SC-LEARNING
描述:
服务实例 Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance (c120ac07-596e-4f86-a929-9c534cd3f7c8)的应用程序服务器管理作业失败。

原因: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

技术支持详细信息:
System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

Server stack trace:
   在 System.DirectoryServices.Interop.UnsafeNativeMethods.IAdsContainer.GetObject(String className, String relativeName)
   在 System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
   在 Microsoft.SharePoint.AdministrationOperation.Metabase.MetabaseObjectCollection`1.Find(String name)
   在 Microsoft.SharePoint.AdministrationOperation.Metabase.MetabaseObjectCollection`1.get_Item(String name)
   在 Microsoft.SharePoint.AdministrationOperation.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 Microsoft.SharePoint.AdministrationOperation.SPAdministrationOperation.DoProvisionIisApplicationPool(String name, Int32 identityType, String userName, String password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   在 System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]:
   在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   在 Microsoft.SharePoint.AdministrationOperation.SPAdministrationOperation.DoProvisionIisApplicationPool(String name, Int32 identityType, String userName, String password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
   在 Microsoft.Office.Server.Administration.SharedWebServiceInstance.Synchronize()
   在 Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

 

这三个错误不停的循环出现。上网搜索错误解决方案。

第一个:sharepoint2007在创建Web应用程序时的问题

解决方法是:先重启SharePoint的Timer服务,然后重启IIS服务。

命令:

net stop sptimerv3

net start sptimerv3

iisreset

(我没使用这个方法,在这里记录一下,以前用过,但是过了一段时间,可能由于某些操作的原因又出现了)

第二个:解决 SharePoint, Event ID: 6482 问题的办法(我使用了这个方法)

到微软KB中找到了如下的Hotfix解决http://support.microsoft.com/kb/946517/zh-cn

下载后安装,安装Hotfix后重启服务器,观察一段时间后,事件查看器中并未再次出现这些错误信息。打开IIS正常,再创建Web应用程序,顺利创建,问题解决。