TFS服务器填充事件日志,包含错误消息

时间:2014-10-03 13:56:22

标签: tfs

(必须在StackOverflow和ServerFault之间选择,希望SO是一个更好的场所)

我正在练习从2008年到2013年升级我们的TFS服务器。我们正在转向新硬件升级到2012年,然后应用2012年至2013年的就地更新。尽可能地,我按照TFS Install and Administration guides提供的指南。

从好的方面来看,一切似乎进展顺利。我有一个可以使用的2013年实例,而且大多数事情似乎都在起作用。

但是,在事件日志中,似乎每隔30秒我就会看到以下错误消息:

You may not call this function on a different context than the original request at:    at Microsoft.TeamFoundation.Framework.Server.TeamFoundationRequestContext.GetService[T]()
   at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.CheckSchemaLockQueue(Object source)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.TimerQueueTimer.CallCallback()
   at System.Threading.TimerQueueTimer.Fire()
   at System.Threading.TimerQueue.FireNextTimers()

You may not call this function on a different context than the original request at:    at Microsoft.TeamFoundation.Framework.Server.TeamFoundationRequestContext.GetService[T]()
   at Microsoft.TeamFoundation.Warehouse.LockResources..ctor(TeamFoundationRequestContext requestContext)
   at Microsoft.TeamFoundation.Warehouse.WarehouseExecutionContext..ctor(TeamFoundationRequestContext requestContext)
   at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.CheckSchemaLockQueue(Object source)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.TimerQueueTimer.CallCallback()
   at System.Threading.TimerQueueTimer.Fire()
   at System.Threading.TimerQueue.FireNextTimers()

You may not call this function on a different context than the original request at:    at Microsoft.TeamFoundation.Framework.Server.TeamFoundationRequestContext.To(TeamFoundationServiceHost targetHost)
   at Microsoft.TeamFoundation.Framework.Server.TeamFoundationRequestContext.To(TeamFoundationHostType hostType)
   at Microsoft.TeamFoundation.Warehouse.LockResources..ctor(TeamFoundationRequestContext requestContext)
   at Microsoft.TeamFoundation.Warehouse.WarehouseExecutionContext..ctor(TeamFoundationRequestContext requestContext)
   at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.CheckSchemaLockQueue(Object source)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.TimerQueueTimer.CallCallback()
   at System.Threading.TimerQueueTimer.Fire()
   at System.Threading.TimerQueue.FireNextTimers()

也就是说,三个相同的消息只有3个略有不同的堆栈跟踪。不幸的是,我找不到其他在线寻找(并找到)帮助You may not call this function on a different context than the original request短语的人。 (事实上​​,我只得到一个搜索结果,这是一个pastebin post - 但没有任何上下文,没有答案,我找不到其他地方的pastbin链接)

回顾事件日志,这些错误仅在2012年之后开始 - > 2013升级,但我不知道这是否意味着升级导致了问题,或者升级包含的功能在2012年不会出现(因此无法解决)。

那么,我如何找到(更好)这里发生了什么,并停止这些错误消息?当事情看起来就像他们正在工作但我们会收到这些错误时,我无法继续真正的升级。


旧服务器:SQL Server Standard 2005(SP4),单服务器,Windows Server 2003 Standard x86(SP2)上的TFS 2008(SP1)

新服务器:SQL Server Standard 2012(SP2),单服务器,Windows Server 2008 R2 Standard x64(SP1)上的TFS 2013(Update 3)

(当新服务器是2012年时,它是Update 4,没有其他区别)

1 个答案:

答案 0 :(得分:1)

您可能需要重建仓库和多维数据集。在管理控制台中,如果单击报告,则应看到“重建”按钮。