Share via


訊息佇列工作

更新: 2006 年 7 月 17 日

「訊息佇列」工作讓您可以使用 Message Queuing (又稱為 MSMQ) 在 SQL Server Integration Services 封裝之間傳送和接收訊息,或者向自訂應用程式處理的應用程式佇列傳送訊息。這些訊息可採用簡單文字、檔案或變數及其值的形式。

透過使用「訊息佇列」工作,您可以協調整個企業內的作業。如果目的地無法使用或者忙碌,可以將訊息排入佇列以稍後傳遞;例如,此工作可將屬於銷售代表離線之膝上型電腦的訊息排入佇列,等銷售代表們連接到網路後就可以接收到各自的訊息。您可將「訊息佇列」工作用於下列用途:

  • 延遲工作執行直到其他封裝簽入。例如,每個零售站台的晚間維護完成後,「訊息佇列」工作就會向公司電腦傳送一則訊息。執行於公司電腦的封裝將包含「訊息佇列」工作,每個工作都會等待來自特定零售站台的訊息。來自站台的訊息抵達後,便會有一個工作自該站台上載資料。所有站台均簽入後,封裝會計算摘要總數。
  • 將資料檔傳送給處理它們的電腦。例如,餐廳的收銀機輸出可以將資料檔訊息傳送至公司的薪資系統,以進行服務生的小費資料擷取。
  • 將檔案散發至整個企業。例如,封裝可使用「訊息佇列」工作將封裝檔案傳送至另一台電腦。接著,執行於目的電腦的封裝使用「訊息佇列」工作,以在本機擷取與儲存封裝。

傳送或接收訊息時,「訊息佇列」工作會使用下列四種訊息類型之一:資料檔、字串、字串訊息至變數或變數。只有接收訊息時才能使用「字串訊息至變數」訊息類型。

您也可以設定工作,以使用 SQL Server 2000 格式的訊息。

工作使用 MSMQ 連接管理員以連接到訊息佇列。如需詳細資訊,請參閱<MSMQ 連接管理員>。如需有關 Message Queuing 的詳細資訊,請參閱 MSDN Library

「訊息佇列」工作要求安裝 Integration Services 服務。您在 SQL Server 安裝精靈的 [要安裝的元件] 頁面或 [功能選擇] 頁面上選取要安裝的一些 SQL Server 2005 元件,會安裝 Integration Services 元件的部分子集。這些元件對特定的工作有用,但 Integration Services 的功能會受到限制。例如,Business Intelligence Development Studio 選項會安裝設計某個封裝所需的 Integration Services 元件,但不會安裝 Integration Services 服務,因此「訊息佇列」工作將無法運作。為了確保 Integration Services 的完整安裝,您必須在 [要安裝的元件] 頁面上選取 Integration Services。如需有關安裝及執行「訊息佇列」工作的詳細資訊,請參閱<安裝 SQL Server Integration Services>和<64 位元電腦上的 Integration Services 考量>。

ms141227.note(zh-tw,SQL.90).gif附註:
當電腦的作業系統是以 FIPS 模式設定並且工作使用加密時,「訊息佇列」工作無法符合美國聯邦資訊處理標準 (FIPS) 140-2 的規定。如果「訊息佇列」工作沒有使用加密,工作會順利執行。

訊息類型

您可利用下列方式設定「訊息佇列」工作提供的訊息類型:

  • Data file 訊息指定某個檔案包含訊息。接收訊息時,您可以設定工作以儲存檔案,覆寫現有的檔案,並指定工作可以從中接收訊息的封裝。
  • String 訊息指定訊息為字串。接收訊息時,您可以設定工作,以比較接收到的字串與使用者自訂字串,並根據比較結果採取行動。字串比較可以為完全相符、區分大小寫或不區分大小寫,或者使用子字串。
  • String message to variable 將來源訊息指定為傳送到目的變數的字串。您可以設定工作使用完全相符、不區分大小寫或子字串比較,來比較接收到的字串與使用者自訂的字串。只有當工作接收訊息時此訊息類型才可用。
  • Variable 指定訊息將包含一或多個變數。您可以設定工作,以指定訊息中包含的變數名稱。接收訊息時您可以設定工作,以指定可從中接收訊息的封裝,以及作為訊息目的地的變數。

傳送訊息

設定「訊息佇列」工作以傳送訊息時,您可以使用 Message Queuing 目前支援的加密演算碼 RC2 及 RC4 其中一個,以加密訊息。這兩種加密演算法目前被認為在密碼編譯技術上不如較新的演算法,不過 Message Queuing 目前還不支援較新的演算法。因此,在使用「訊息佇列」工作傳送訊息時,應仔細考慮您的加密需求。

接收訊息

接收訊息時,可以利用下列方式設定「訊息佇列」工作。

  • 略過訊息,或者從佇列中移除訊息。
  • 指定逾時。
  • 若逾時發生則失敗。
  • 如果訊息儲存在 Data file 中則覆寫現有的檔案。
  • 如果訊息使用 Data file message 類型,則以不同的檔案名稱儲存訊息檔案。

其他相關工作

Integration Services 包含傳送電子郵件訊息的工作。

如需有關這項工作的詳細資訊,請按下列主題:

訊息佇列工作上可用的自訂記錄訊息

下表列出「訊息佇列」工作的自訂記錄項目。如需詳細資訊,請參閱<在封裝中實作記錄>和<自訂訊息以進行記錄>。

記錄項目 描述

MSMQAfterOpen

指出工作已經完成開啟訊息佇列。

MSMQBeforeOpen

指出工作已經開始開啟訊息佇列。

MSMQBeginReceive

指出工作已經開始接收訊息。

MSMQBeginSend

指出工作已經開始傳送訊息。

MSMQEndReceive

指出工作已經完成接收訊息。

MSMQEndSend

指出工作已經完成傳送訊息。

MSMQTaskInfo

提供有關工作的描述性資訊。

MSMQTaskTimeOut

指出工作已經逾時。

設定訊息佇列工作

您可以透過「SSIS 設計師」或以程式設計的方式來設定屬性。

如需有關可以在「SSIS 設計師」中設定之屬性的詳細資訊,請按下列其中一個主題:

如需有關如何在「SSIS 設計師」中設定這些屬性的詳細資訊,請按下列主題:

以程式設計方式設定訊息佇列工作

如需有關以程式設計方式設定這些屬性的詳細資訊,請按下列主題:

請參閱

概念

Integration Services 工作
建立封裝控制流程
64 位元電腦上的 Integration Services 考量

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 7 月 17 日

變更的內容:
  • 新增自訂記錄項目的表格。

2006 年 4 月 14 日

變更的內容:
  • 新增有關 RC2 及 RC4 演算法密碼編譯弱點的資訊。
  • 更新有關作業系統設定為 FIPS 模式時使用加密的注意事項。

2005 年 12 月 5 日

變更的內容:
  • 新增有關符合 FIPS 140-2 標準的資訊。