You may have noticed it takes a while for Team Foundation Server (TFS) reports to reflect changes you've made to work items or builds. Let me guess...about an hour, right? Out of the box, TFS is set to refresh the data warehouse from its transactional store every 60 minutes.
How do I change the frequency of the data warehouse refresh?
- Browse to the TFS Controller Web Service on your TFS application tier server within IE at: http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx
- Select the ChangeSetting option
- Enter RunIntervalSeconds for the settingId and the desired number of seconds for newValue (300 for 5 minutes...5*60)
- Select Invoke
How do I force a data warehouse refresh?
Two methods here: either via the above web service or using SQL Server Management Studio.
Via the web service:
- Browse to the TFS Controller Web Service within IE at: http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx
- Select the Run option
- Click Invoke
- You should expect a new browser window opening along with an XML fragment with the element reporting true. If false, something went awry.
- Close the browser
- Click "Click here for a complete list of operations"
- Click GetWarehouseStatus
- Click Invoke
- You should see either idle (it completed) or running
Via SQL Server Management Studio:
- Open SQL Server Management Studio
- Authenticate with Analysis Services
- Drill into Databases to TfsWarehouse
- Right-mouse selecting Process
- Click Ok, and finally Close when processing completes
My reports still aren't refreshed and reflect an old refresh date. What gives?
For performance and scalability, SQL Server Reporting Services (SSRS) caches reports. By default, it's set to expire the cache every 30 minutes. On a per-report basis, you may change or even eliminate this caching behavior:
- Browse to SSRS using IE at: http://localhost/Reports/
- Select a report
- Click the Properties tab...Execution option
- In a production setting, you might dial back the sliding scale from 30 to 15 or 20 minutes. Because I frequently perform demos, I actually eliminate the caching.