NServiceBus.SqlServer provides support for sending messages using Microsoft SQL Server without the use of a service broker.
It is part of the Particular Service Platform, which includes NServiceBus and tools to build, monitor, and debug distributed systems.
See the SQL Server transport documentation for more details on how to use it.
Before doing anything else, make sure you have SQL Server up and running in your environment. Also make sure it is accessible from all the machines in your setup.
- Choose which package you want to use:
- NServiceBus.Transport.SqlServer — references Microsoft.Data.SqlClient
- NServiceBus.SqlServer — references System.Data.SqlClient
- Add the package to your project(s).
- In your app.config make sure to provides the necessary connection information needed to communicate to SQL server. A typical setup would be:
<connectionStrings> <add name="NServiceBus/Transport" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=nservicebus;Integrated Security=True;TrustServerCertificate=true"/> </connectionStrings>
Consider creating a RAM drive or using the temporary drive when running in a cloud vm and hosting your databases on it to reduce the time required to run acceptance tests.
The tests expect a SQL Server instance to be available.
All tests use the default connection string Data Source=.\SQLEXPRESS;Initial Catalog=nservicebus;Integrated Security=True;TrustServerCertificate=true
. This can be changed by setting the SqlServerTransportConnectionString
environment variable. The initial catalog, nservicebus
, is hardcoded in some tests and cannot be changed.
- MSDTC is required to run tests.
- The following databases must be created in advance in the configured instance:
nservicebus
nservicebus1
nservicebus2
- The following schemas must be created in advance in the
nservicebus
databasereceiver
ownerdb_owner
sender
ownerdb_owner
db@
ownerdb_owner
Deployments with multiple endpoints running on PostgreSQL require external connection pooling e.g. using pgBouncer