共用方式為


佇列

佇列儲存訊息。當 Service Broker 接收服務的訊息時,會將訊息插入該服務的佇列。為了取得傳送至服務的訊息,應用程式會接收來自佇列的訊息。Service Broker 管理佇列,並提供類似於資料表之佇列的檢視。

每個服務都會與一個佇列關聯。當服務的訊息到達時,Service Broker 會將訊息置於該服務所關聯的佇列中。

每個訊息都是佇列中的資料列。資料列包含訊息的內容,以及有關下列內容的資訊:訊息類型、訊息的目標服務、訊息遵循的合約、訊息上執行的驗證、將訊息做為一部份包含的交談以及佇列內部的資訊。應用程式使用訊息資料列中的資訊,以唯一識別每則訊息並適當地處理訊息。

應用程式會從服務的佇列接收訊息。對於每個交談,佇列均以傳送者傳送訊息的順序傳回訊息。從單一接收作業傳回的所有資訊都是屬於某個交談群組之交談的一部份。實際上,佇列數組包含相關的訊息,每個交談群組一組訊息。每次應用程式執行來自佇列的接收作業時,佇列都會傳回一組相關的訊息。應用程式可選擇接收特定交談的訊息,或特定的交談群組。佇列不會以嚴格的先進先出順序傳回訊息,而是以訊息傳送的順序傳回每個交談訊息。因此,應用程式不需要包含復原訊息之原始順序的程式碼。

佇列可能會與儲存程序相關聯。在此情況下,若要處理的佇列包含訊息,SQL Server 便會啟動儲存程序。SQL Server 可啟動一個以上儲存程序的執行個體,最多可達設定的上限。如需詳細資訊,請參閱<Service Broker 啟動>。