(必须在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,没有其他区别)
答案 0 :(得分:1)
您可能需要重建仓库和多维数据集。在管理控制台中,如果单击报告,则应看到“重建”按钮。