Service Broker è una tecnologia che è stata introdotta con Sql Server 2005. E'  un sistema di comunicazione basato sui messaggi integrato nell'engine di Sql Server. L'amministrazione può essere fatta direttamente tramite gli strumenti di gestione di Sql.

managementstudio

 

Q : Quali sono gli utilizzi tipici del service broker ?

A : http://technet.microsoft.com/it-it/library/ms166071.aspx

Q : Quali sono i vantaggi nell'utilizzo del service broker ?

A : http://technet.microsoft.com/it-it/library/ms166063.aspx

Alcuni degli elementi fondamentali sono :

  • Le conversazioni. Rappresentano il canale di comunicazione per i messaggi.
  • Ordinamento ed il coordinamento dei messaggi. Ogni conversazione è costituita da due lati : L'initiator è chi avvia la conversazione, il target è il destinatario. Ciascuno di essi ha una propria gestione delle code.
  • Programmazione asincrona e transazionale. Il recapito dei messaggi è transazionale (quindi un rollback di una operazione comporta il rollback di tutte le operazioni coinvolte) ed asincrono.

A questo link è disponibile un tutorial che permette di testare il service broker con il database adventureworks (*) e rappresenta un buon metodo per iniziare a familiarizzare con questa tecnologia, mentre la documentazione di riferimento per il prodotto è disponibile qui .

* - I database di esempio per Sql Server 2008 RC0  sono reperibili sul sito CodePlex a questo link.

Per l'esecuzione dello script di creazione del database AdventureWorks potrebbe essere necessario abilitare il filestream per l'accesso da T-SQL. Per farlo occorre andare su Sql Server Configuration Manager nelle proprietà del servizio Sql Server.

 filestream

Per il popolamento del db inoltre potrebbe essere richiesto il cambio del path all'interno dello script per l'accesso tramite BULK INSERT ai file csv presenti nella cartella samples.

-- SET @data_path = 'C:\Program Files\Microsoft SQL Server\100\Tools\Samples\AdventureWorks2008 OLTP\';