Share via


傳送主要預存程序工作

適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime

「傳送主要預存程序」工作會在 SQL Server 執行個體上的 master 資料庫之間,傳送一或多個使用者定義預存程序。 若要從 master 資料庫傳送預存程序,程序的擁有者必須為 dbo。

可以設定「傳送主要預存程序」工作傳送所有的預存程序,或只傳送指定的預存程序。 此工作不會複製系統預存程序。

目的地可能已存在要傳送的主要預存程序。 可以設定「傳送主要預存程序」工作以下列方式處理現有的預存程序:

  • 覆寫現有預存程序。

  • 存在重複的預存程序時讓工作失敗。

  • 略過重複的預存程序。

在執行階段,「傳送主要預存程序」工作會使用兩個 SMO 連接管理員,連接到來源和目的地伺服器。 SMO 連結管理員會在「傳送主要預存程序」工作以外另行設定,然後在「傳送主要預存程序」工作中參考。 存取伺服器時,SMO 連接管理員會指定要使用的伺服器和驗證模式。 如需詳細資訊,請參閱 SMO Connection Manager

在 SQL Server 的執行個體之間傳送預存程序

「傳送主要預存程序」工作可支援 SQL Server 來源及目的地。

事件

該工作會引發報告已傳送預存程序數目的資訊事件,並在覆寫預存程序時引發警告事件。

「傳送主要預存程序」工作並不報告登入傳送的累加進度,它只報告 0% 和 100 % 完成。

執行值

工作之 ExecutionValue 屬性中定義的執行值會傳回已傳送的預存程序數。 透過將使用者自訂變數指派給「傳送主要預存程序」工作的 ExecValueVariable 屬性,可將與預存程序傳送相關的資訊用於封裝中的其他物件。 如需詳細資訊,請參閱 Integration Services (SSIS) 變數在套件中使用變數

記錄項目

「傳送主要預存程序」工作包含下列自訂記錄項目:

  • TransferStoredProceduresTaskStartTransferringObjects 此記錄項目報告傳送已開始。 記錄項目會包含開始時間。

  • TransferSStoredProceduresTaskFinishedTransferringObjects 此記錄項目報告傳送已完成。 記錄項目會包含結束時間。

此外, OnInformation 事件的記錄項目會報告已傳送的預存程序數目,並會為在目的地上覆寫的每個預存程序,寫入 OnWarning 事件的記錄項目。

安全性和權限

使用者必須具有來源上 master 資料庫中預存程序清單的檢視權限,且必須是系統管理員 (sysadmin) 伺服器角色的成員,或者具有目的地伺服器上 master 資料庫中已建立之預存程序的權限。

設定傳送主要預存程序工作

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

如需可在 SSIS 設計工具中設定的屬性詳細資訊,請按下列主題:

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

以程式設計方式設定傳送主要預存程序工作

如需如何在 SSIS 設計工具中設定這些屬性的詳細資訊,請按下列主題:

傳送主要預存程序工作編輯器 (一般頁面)

使用 [傳送主要預存程序工作編輯器] 對話方塊的 [一般] 頁面,即可命名和描述傳送主要預存程序工作。

注意

此工作只會從來源伺服器上的 master 資料庫,將 dbo 擁有的使用者定義預存程序,傳送到目的地伺服器上的 master 資料庫。 使用者必須有目的地伺服器上之 master 資料庫的 CREATE PROCEDURE 權限,或是目的地伺服器上之 sysadmin 固定伺服器角色的成員,才能在目的地伺服器建立預存程序。

選項。

名稱
輸入傳送主要預存程序工作的唯一名稱。 這個名稱是作為工作圖示中的標籤使用。

注意

工作名稱在封裝內必須是唯一的。

說明
輸入傳送主要預存程序工作的描述。

傳送主要預存程序工作編輯器 (預存程序頁面)

使用 [傳送主要預存程序工作編輯器] 對話方塊的 [預存程序] 頁面,即可指定屬性,以將一或多個使用者定義預存程序從 SQL Server 執行個體某個執行個體的 master 資料庫,複製到 SQL Server 另一個執行個體的 master 資料庫中。

注意

此工作只會從來源伺服器上的 master 資料庫,將 dbo 擁有的使用者定義預存程序,傳送到目的地伺服器上的 master 資料庫。 使用者必須有目的地伺服器上之 master 資料庫的 CREATE PROCEDURE 權限,或是目的地伺服器上之 sysadmin 固定伺服器角色的成員,才能在目的地伺服器建立預存程序。

選項。

SourceConnection
在清單中選取 SMO 連線管理員,或按一下 [新增連接...]<>,以建立與來源伺服器的新連線。

DestinationConnection
在清單中選取一個 SMO 連線管理員,或按一下 [新增連接...]<>,以建立與目的地伺服器的新連線。

IfObjectExists
選取工作應如何處理在目的地伺服器上的 master 資料庫中已經存在有相同名稱的使用者定義預存程序。

此屬性具有下表所列的選項:

描述
FailTask 如果目的地伺服器上的 master 資料庫中已經存在有相同名稱的預存程序,則工作失敗。
Overwrite 工作會覆寫目的地伺服器上的 master 資料庫中有相同名稱的預存程序。
Skip 工作會略過目的地伺服器上的 master 資料庫中存在有相同名稱的預存程序。

TransferAllStoredProcedures
選取是否應將來源伺服器上之 master 資料庫中的所有使用者定義預存程序,複製到目的地伺服器。

描述
True 複製 master 資料庫中的所有使用者定義預存程序。
False 只複製指定的預存程序。

StoredProceduresList
選取應將來源伺服器上之 master 資料庫中的哪些使用者定義預存程序,複製到目的地 master 資料庫。 只有 [TransferAllStoredProcedures] 設定為 [False] 時,才能使用此選項。

另請參閱

傳輸 SQL 伺服器物件工作
Integration Services 工作
控制流程