共用方式為


建立 Service Broker 服務

Service Broker 服務的定義包括服務是目標的合約名稱。「目標服務」(Target Service) 代表一個位址,它接受由服務指定的合約所識別的工作之要求。「起始服務」(Initiating Service) 代表與目標服務進行的交談之傳回位址。

服務代表做為一組不同工作的商務程序。在服務中的每個合約代表特定工作。服務可以指定一個以上的合約,而且一個合約可由一個以上的服務使用。

每個服務都會使用佇列來儲存訊息。傳送到服務的訊息會傳遞到佇列。一般而言,當只有一個服務使用指定佇列時,應用程式最容易實作。不過,基於彈性的考量,Service Broker 將允許服務指定相同的佇列。在此情況下,應用程式會以相同的方式來處理相同類型的所有訊息,或是同時檢查訊息類型名稱與服務名稱,以判斷如何處理訊息。當應用程式支援多個版本的相同服務時,此策略將會非常方便。

訊息的網路格式包括服務的名稱。因此,通常會選擇服務名稱來避免定序問題與命名衝突。如需有關命名的詳細資訊,請參閱<命名 Service Broker 物件>。

若要建立服務,您必須執行下列動作:

  1. 建立訊息類型以定義可來回傳送的資料。

  2. 建立一個合約,以識別可使用的訊息類型,以及哪些端點可以傳送它們,才能完成特定的工作。

  3. 建立一個應用程式以接收、處理和傳送完成指定工作所需的訊息。

  4. 建立一個佇列以儲存服務的內送訊息。您可以將佇列與啟動預存程序相關聯,這樣 Broker 就會自動啟動預存程序,以便在訊息到達時,自動啟動預存程序。

  5. 建立服務並將它與接收服務的訊息之佇列相關聯。服務會公開合約,以定義服務將代表其他服務執行的工作。服務並不需要為服務從其他服務要求的工作指定合約。

視服務的特定需求而定,建立服務所需的精確步驟可能會有些不同。例如,當您建立服務以處理事件通知時,因為 SQL Server 已經定義了訊息類型與合約,所以沒有必要建立它們。