傳送主要預存程序工作

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

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

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

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

  • 覆寫現有預存程序。

  • 存在重複的預存程序時,將工作判定為失敗。

  • 略過重複的預存程序。

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

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

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

事件

該工作會觸發資訊事件,以回報已傳輸的預存程序數量,並在覆寫預存程序時觸發警告事件。

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

執行值

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

記錄項目

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

  • TransferStoredProceduresTaskStartTransferringObjects 此記錄項目表示傳輸已開始。 記錄項目會包含開始時間。

  • TransferSStoredProceduresTaskFinishedTransferringObjects 此記錄項目表示轉移已完成。 日誌項目包含結束時間。

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

安全性和權限

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

傳送主預存程序工作設定

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

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

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

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

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

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

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

注意

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

選項

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

注意

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

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

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

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

注意

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

選項

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

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

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

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

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

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

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

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