views:

181

answers:

2

Hi,

Is there any way to use SQL Server as physical message transport instead of using built in MSMQ message transport with NServiceBus ?

Thanks

A: 

SQL Server contains built-in messaging in form of Service Broker. This gives you a vary efficient, high-speed, high-throughput, asynchronous and reliable messaging transport between SQL Server instances. The fact that is only targeting SQL instances is not as bad as it sounds, considering that SQL Server Express support Service Broker and I know deployments that use tens, hundreds of Express, instances geo-distributed, to exchange messages with central higher edition SQL instances.

The major problem is lack of a C#/.Net API, there is no support for WCF channels, nor NServiceBus. There are various projects trying to address this, with more or less success. Ultimately it will depend on what is the driving factor for the decision: integration with an existing messaging bus like NServiceBus, or raw performance and reliability at the cost of depending on sQL Server proprietary bus.

Remus Rusanu
+1  A: 

You probably want to look into implementing a custom ITransport to accomplish this.

David