The following steps are applicable if the following is true:
- New install of TFS 2010
- SQL Server 2008 R2 configured to use individual domain accounts to run the services
After this particular install I noticed that in the Application Event Log I was getting the following error message every two (2) hours:
Detailed Message: TF221122: An error occurred running job Incremental Analysis Database Sync for team project collection or Team Foundation server TEAM FOUNDATION.
Verify the Reporting Configuration using the Team Foundation Server Administration Console.
Check the state of the warehouse using Grant Holliday’s Administrative Report Pack for Team Foundation Server 2010. This will allow you to easily monitor the status of the cube. In this particular case it was failing processing both the Full and Incremental jobs (ignore the 2 successful runs at the end for now).
A little bit more information could be seen in the Inner Exception Details:
Exception Message: Internal error: The operation terminated unsuccessfully.
Server: The operation has been cancelled.
OLE DB error: OLE DB or ODBC error: Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.; 28000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘Tfs_AnalysisDataSource’, Name of ‘Tfs_AnalysisDataSource’.
The issue here is that the account running the SQL Server Database Engine did not have permissions to connect and process the cube. This is easy to fix by connecting to Analysis Services and adding the domain account that runs the database engine to the TfsWarehouseAdministrator Role in the Tfs_Analysis database.
Once you have granted those permissions you can manually process the data warehouse and cube for Team Foundation Server by connecting to the web services on the application tier. Note: Do not manually process cube using SQL Server Management Studio that method is not supported.
I manually processed the Analysis Services Cube first by running a Full, then followed by an Incremental using the web services
Verified the status of both runs by checking the Cube Status Report.
You can see the Full (12:16) and Incremental (12:58) jobs were processed successfully.