Archive for the TFS Category

Build SSIS Custom Components on TeamBuild

Posted in SSIS, TFS on April 7, 2008 by sidersdd

For our SSIS custom components (custom connection managers, custom data sources, custom data transformations, etc.) we have them deployed into the GAC and copied into the appropriate \DTS folder so that they become available in the design tools to be dropped on a design canvas.  This is accomplished via the Build Events in Visual Studio:

BuildEvents

We also use TFS and TeamBuild for daily builds.  We run unit tests on our database stored procs and functions, and on our custom business assemblies.  No unit testing on SSIS components yet, but I am interested in what’s happening in this space.  The problem we ran into with TeamBuilds on the SSIS custom components is that we didn’t want/need the build events to occur.  In fact our TeamBuilds failed because the paths couldn’t be resolved.

To resolve this I opened up the project files and modified the PreBuildEvent and PostBuildEvent tags to include a condition checking if the build was occurring within Visual Studio or not.  The tags look like this now:

<PropertyGroup>
  <PreBuildEvent Condition="'$(BuildingInsideVisualStudio)'=='true'">"$(DevEnvDir)..\..\SDK\v2.0\Bin\gacutil.exe" /f /u "$(TargetPath)"
del "C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents\$(TargetFileName)"</PreBuildEvent>
  <PostBuildEvent Condition="'$(BuildingInsideVisualStudio)'=='true'">"$(DevEnvDir)..\..\SDK\v2.0\Bin\gacutil.exe" /if "$(TargetPath)"
xcopy "$(TargetPath)" "C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents"</PostBuildEvent>
</PropertyGroup>

Troubleshooting TFS Data Warehouse

Posted in TFS, VSTS on January 18, 2008 by sidersdd

I was troubleshooting another issue with reports from Scrum for Team System, and came upon a better link that explains troubleshooting the TFS Data Warehouse.  It includes steps for rebuilding the warehouse using the web services.

Sprint List Not Updating in TFS Report

Posted in TFS, VSTS on January 16, 2008 by sidersdd

Recently I had a problem with some reports that are part of the Scrum for Team System add-in for TFS.  The drop down list of sprints in the Sprint Burndown Report was only showing a subset of sprints defined in the system.  The reports consume data from the TFSWarehouse database on the TFS server.  So I looked there to make sure the warehouse was being updated.  Querying the [Work Item] table revealed that the warehouse tables were in fact not being updated.  The only sprints found in that table were the ones showing up in the drop down list in the report.

Next step was to figure out why the warehouse wasn’t updating.  I peeked into the event log on the TFS server and found the following error in the Application log:

TF53010: An unexpected condition has occurred in a Team Foundation component.

Detailed Message: TF50801: The TFSServerScheduler service did not initialize. The Team Foundation Registration Service returned the following error: The registry for this computer either has no entry for, or contains multiple entries for, Team Foundation Server.

The part about ‘multiple entries for Team Foundation Server’ was key.  In the registry there is a key which lists the known TFS servers – - HKCU\Software\Microsoft\VisualStudio\8.0\TeamFoundation\Servers.  Sure enough, on this TFS server there were multiple entries found.  I’m guessing the extra server entries found their way in there as I was testing the TFS-to-TFS Migration Tool at one time.  I removed the extra entries, and left the one which referenced the current TFS server.  I then restarted the server to ensure this fixed the starting of the TFSServerScheduler.

Next task was to force a rebuild of the warehouse.  Steps for this can be found here.  I followed the web service steps.

Once that was complete, I verified the sprints were listed in the query, and then verified the sprints appeared in the drop-down list in the report.  All was working fine now.