Sorry I've been off the radar a while. I've been working as a Solution Architect on a large telco solution.
I'm very happy with the results, We managed to make good use of lots of SQL Server programmability features such as XML, service broker, SQL CLR, new error handling, UDF's and also integrate nicely with IBMMQ. We also build a nice test harness in Visual Studio Test edition and have a continuous build and regression testing with Visual Studio Team Build. A single change in a stored procedure, rules table or dot.net code is now automatically regression tested using hundreds of use cases. We extended Team Foundation Server a bit to allow for automatic production of key test documentation like a coverage matrix comparing requirements to test cases.
My number one gripe was de-queuing messages from IBM MQ 6.0 using dot.net 2.0. The API is a great, but I had hoped to use an event driven architecture. Unfortunately the current release (v6) of MQ Server only integrates with dot.net 1.1 for event driven de-queuing.
Anyone got a "simple" way to de-queue messages from IBM MQ using and event/trigger design pattern and plain old dot.net and SQL Server ?
we ended up using a thin dot.net wrapper to the API called from the SQL Job every five minutes. Works well and as a bonus we get great operational monitoring via the SQL management tools used.
Of course as a mainly database dude, XML and messaging is the evil enemy you keep close to know your enemy. Seeing messages/rows come into SQL Server one at a time and locks/sec go mad is frustrating. Give me ETL, bulk data and set based queries any day 😉