TFS talking to other Databases
Can TFS talk to other databases from its Application Layer Web Services?
Well the answer to this question is Yes and No
. “No” because the TFS Application Layer Web Services are tightly coupled to TFS Database and there is little scope for us to do any modifications there. “Yes” because there is a work around for this, of course with its own set of issues. So what is the work around we have?..............
The extensibility option of TFS comes handy here. Whenever there is an update to the TFS Database, Notification Events are raised. There are close to a dozen of such events to which subscribers can subscribe to (more details on how to subscribe can be found in the MSDN documentation), like in this case one can subscribe to WorkItemChangedEvent. TFS also provides a standard Event Handler called Notify which takes in eventXml as parameter. This is the xml representation of the change that has happened in the TFS database. E.g. if a work item is added to the TFS database, then this xml will have all the data of the item that has been created. This data can be extracted from the xml and then updated to the external database accordingly in the event handler.
Of course, this may not be an elegant solution, however for people who want to capture this data in a different database for what ever reason; this is the only possible approach
Thanks and Regards
PrashanthG

Comments
Apart from can app layer talk to other DBs another question will be can TFS itself be hosted on another DB than SQL? I was attending the MS Synergize2Energize happening across multiple cities in India and they categorically stated that it isn't possible.
Posted by: Atul Gupta | September 14, 2006 03:59 AM