Extending the Team System Data warehouse
The past weeks I have been working on a custom extension of the Team System Data warehouse. I created an extension that consumes all our build information we get every night on SLOC’s(Source Lines of Code). The SLOC count can tell us something on the way the system is build and we map the information to historical trends we have from past implementations of systems using a similar architecture. This can signal us early when parts of the application require to much coding and need additional attention. To make the data warehouse extension work I found very useful information in the extensibility kit (http://www.vsipdev.com/downloads), but there are some things you might need to know as well that are not well documented. These are the questions and corresponding solutions I ran int
Q: I created a data warehouse adapter by implementing the IWarehouseAdapter interface, but where do I register the assembly to get picked-up by the data warehouse?
A: After using the reflector tool of Lutz Roeder (http://www.aisto.com/roeder/dotnet/) I found that the services pick up any assembly that is placed in the
“C:Program FilesMicrosoft Visual Studio 2005 Enterprise ServerBISIISDIRbisdwserverAdapters”. If your assembly contains a class that implements the interface then it is called.
Q: How do I register the data warehouse schema I created?
A: You can find an executable in the directory “C:Program FilesMicrosoft Visual Studio 2005 Enterprise ServerBISIISDIRbisdwserverbin” Called SetupWarehouse.exe and it accepts a set of command line arguments. The ones I used where: -s (server) –d (database) and –c (schema) For the database you need to fill in the Team system datawarehouse database called bisdwdb the server is the data tier server name. It will use integrated security, so be sure you are logged on as a user that is admin in the database.
Q: How can I see what the stored procedures look like, because they are encrypted?
A: There is a command line option –v (verbose) that you can add to the command line of SetupWarehouse.Exe. When you write the console output to a file you will see that it dumps all SQL statements in verbose mode, including the contents of the stored procedures. This can be very helpful when learning the system.
Q: After running setupwarehouse.exe several times I got an exception from the tool with the message: No mapping between account names and security IDs was done.
A: Someone called Ozan was very helpful to me in the MSDN forums and posted the following solution to the problem: The easiest way to solve the problem is to back up the contents of C:Program FilesMicrosoft SQL ServerMSSQL.2OLAPData and then delete it. Then you can run SetupWarehouse again.
See the forum thread: http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=13684
When I can find some more time, I will write a little article on how you can extend the data warehouse from the start to the end.