Share via


傳送 SQL Server 物件工作

「傳送 SQL Server 物件」工作會在 SQL Server 執行個體之間,傳送 SQL Server 資料庫中的一或多個類型物件。例如,該工作可以複製資料表和預存程序。因用作來源的 SQL Server 版本不同,可複製不同類型的物件。例如,只有 SQL Server 2005 資料庫包含結構描述和使用者自訂彙總。

可以設定「傳送 SQL Server 物件」工作傳送所有物件、同一類型的所有物件,或只傳送同一類型的指定物件。例如,您可以選擇只複製 AdventureWorks 資料庫中已選取的資料表。

如果「傳送 SQL Server 物件」工作傳送資料表,則您可指定要隨該資料表一同複製之資料表相關物件的類型。例如,您可以指定隨資料表一同複製的主索引鍵。

可以複製指定資料庫中的伺服器角色、角色和使用者,也可以複製所傳送物件的權限。透過將相關聯的使用者、角色和權限與物件一起複製,可以讓所傳送物件立即可以在目的地伺服器上進行運作。

若要進一步加強所傳送物件的功能,您可以設定「傳送 SQL Server 物件」工作在傳送中包含結構描述名稱、資料、所傳送物件的擴充屬性和相依物件。複製資料時,您可以指定是取代還是附加現有資料。

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

要傳送的物件

下表列出可複製的物件類型。版本資料行會識別在傳送中包含物件類型時,工作可以用來當作來源的 SQL Server 版本。

物件 版本

資料表

SQL Server 2000 或 SQL Server 2005

檢視

SQL Server 2000 或 SQL Server 2005

預存程序

SQL Server 2000 或 SQL Server 2005

使用者自訂函數

SQL Server 2000 或 SQL Server 2005

預設值

SQL Server 2000 或 SQL Server 2005

使用者自訂資料類型

SQL Server 2000 或 SQL Server 2005

資料分割函數

僅 SQL Server 2005

資料分割配置

僅 SQL Server 2005

結構描述

僅 SQL Server 2005

組件

僅 SQL Server 2005

使用者自訂彙總

僅 SQL Server 2005

使用者自訂類型

僅 SQL Server 2005

XML 結構描述集合

僅 SQL Server 2005

在 SQL Server 2000 之執行個體中建立的使用者自訂資料類型以 SQL Server 2000 中的系統資料類型為基礎。傳送至 SQL Server 2005 時,這些使用者自訂資料類型會使用 SQL Server 2005 的系統資料類型建立並儲存為具有別名的資料類型。如需有關 SQL Server 2005 中資料類型的詳細資訊,請參閱<資料類型 (Database Engine)>。

在 SQL Server 2005 之執行個體中建立的使用者自訂類型 (UDT) 相依於 Common Language Runtime (CLR) 組件。如果使用「傳送 SQL Server 物件」工作傳送 UDT,您也必須設定該工作以傳送相依物件。若要傳送相依物件,請將 IncludeDependentObjects 屬性設定為 True

資料表選項

複製資料表時,您可以指出要在複製處理中包含之資料表相關項目的類型。您可以在複製相關資料表時一併複製下列類型的項目:

  • 索引
  • 觸發程序
  • 全文檢索索引
  • 主索引鍵
  • 外部索引鍵

您還可以指出工作所產生的指令碼是否為 Unicode 格式。

目的地選項

您可以設定「傳送 SQL Server 物件」工作在傳送中包含結構描述名稱、資料、所傳送物件的擴充屬性和相依物件。如果複製資料,則它可以取代或附加現有資料。

部分選項只適用於 SQL Server 2005。例如,僅 SQL Server 2005 支援結構描述。

安全性選項

「傳送 SQL Server 物件」工作可以包含來源的 SQL Server 資料庫層級使用者和角色、SQL Server 登入,以及所傳送物件的權限。例如,傳送可以包含所傳送資料表的權限。

在 SQL Server 的執行個體之間傳送物件

「傳送 SQL Server 物件」工作支援 SQL Server 2000 或 SQL Server 2005 的來源和目的地。將哪一個用作來源或目的地是沒有限制的。

事件

該工作會引發報告已傳送物件的資訊事件,並在覆寫物件時引發警告事件。還會為動作 (例如,截斷資料庫資料表) 引發資訊事件。

「傳送 SQL Server 物件」工作並不報告物件傳送的累加進度,它只報告 0% 和 100 % 完成。

執行值

工作之 ExecutionValue 屬性中儲存的執行值會傳回已傳送的物件數目。透過將使用者自訂變數指派給「傳送 SQL Server 物件」工作的 ExecValueVariable 屬性,可將與物件傳送相關的資訊用於封裝中的其他物件。如需詳細資訊,請參閱<Integration Services 變數>和<在封裝中使用變數>。

記錄項目

「傳送 SQL Server 物件」工作包含下列自訂記錄項目:

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

此外,OnInformation 事件的記錄項目會報告已為傳送選取之物件類型的物件數目、已傳送的物件數目,以及動作 (例如,隨資料表一同傳送資料時截斷資料表)。為在目的地上覆寫的每個物件寫入 OnWarning 事件的記錄項目。

安全性和權限

使用者必須具有在來源伺服器上瀏覽物件的權限,且必須具有在目的地伺服器上卸除和建立物件的權限,此外,使用者還必須具有對指定資料庫和資料庫物件的存取。

設定傳送 SQL Server 物件工作

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

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

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

以程式設計方式設定傳送 SQL Server 物件工作

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

請參閱

概念

Integration Services 工作
建立封裝控制流程

說明及資訊

取得 SQL Server 2005 協助