When a friend calls you with a computer problem, probably one of the first things you say is:
Have you already restarted your PC?
Well, today I fell into the same trap. I’m currently in the process of installing a Team Foundation Server environment on Azure as a demo environment (If you’ve never done this, a great place to get started is the ALM Ranger guidance found at http://vsarplanningguide.codeplex.com/ which now has a new supplement on installing TFS on Azure IaaS).
So my environment now consists of a TFS Application Tier, a SQL Server 2014 Data Tier and a Build Server.
While in the process of installing SQL Server Reporting Services I ran into the following error when viewing the Test Case Readiness report:
An error has occurred during report processing. (rsProcessingAborted) Query execution failed for dataset 'dsArea'. (rsErrorExecutingCommand)
The Team System cube either does not exist or has not been processed.
So I started my analysis by running the Team Foundation Server Best Practice Analyzer tool. This gave me the following Reports:
As you can see, there are some errors regarding the Analysis Cube processing. So I tried to run a manual processing job of the Analysis Cube server.
This great walkthrough helps you in doing a manual start of the warehouse and analysis cube processing.
What it comes down to is navigating to http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx on your application tier and then using ProcessWarehouse, ProcessAnalysisDatabase and GetProcessingStatus to check what’s going one.
One thing to be aware of is that the walkthrough is a little outdated. When you call GetProcessingStatus on a TFS 2013 installation you will get the following screen:
A new option includeOnlineHostsOnly is added. You need to pass TRUE for this field otherwise you will get a 500 error when checking the status of your jobs.
Now when checking my job status I found the following:
<Job JobProcessingStatus="**Idle**" Name="**Incremental Analysis Database Sync**">(http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx/GetProcessingStatus) <LastRun Result="**Failed**" EndTimeUtc="**2014-08-07T15:06:42.29Z**" ExecutionStartTimeUtc="**2014-08-07T15:06:38.747Z**" QueueTimeUtc="**2014-08-07T15:06:38.217Z**">(http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx/GetProcessingStatus) <ResultMessage>[Incremental Analysis Database Sync]: ---> Microsoft.TeamFoundation.Warehouse.WarehouseException: TF221122: An error occurred running job Incremental Analysis Database Sync for team project collection or Team Foundation server TEAM FOUNDATION. ---> Microsoft.TeamFoundation.Warehouse.WarehouseException: TF255040: Install SQL Reporting Services or at a minimum SQL Client Connectivity Tools on the application tier to ensure Analysis Services object model is present for warehouse processing. at Microsoft.TeamFoundation.Warehouse.AnalysisDatabaseSyncJobExtension.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) at Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) --- End of inner exception stack trace --- </ResultMessage> </LastRun> <NextRun QueueTimeUtc="**2014-08-08T09:06:38.217Z**" JobState="**QueuedScheduled**"/> </Job>
So somehow I get an error that the SQL Client Connectivity Tools are missing on the Application Tier. But since I have no idea what to do else, I’ve rerun the SQL Server Installation to make sure.
And that’s when I noticed:
And that’s it. Apparently I forgot to restart after installing the SQL Server Client Connectivity Tools. After restarting the Application Tier the Analysis Job ran perfectly and my reports are functioning just as you would expect.
Question? Feedback? Please leave a comment!