傳送 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 工作
建立封裝控制流程