2012-05-08 52 views
0

你將不得不原諒我對此的無知 - 我通常是一個服務器類的傢伙!跨服務器SSIS自動提取動態表

我有一個直播和報告服務器,我們將打電話給LIVEREP

我有LIVE一組表,一些數據從需要被PIVOT特德每天晚上REP服務器。這已經發生通過一個SSIS包 - 麻煩是 - * 提取腳本是固定的我需要它是動態的

即。我需要在LIVE上有一個新表,它定義了什麼被提取到REP

這意味着,我想

  • DROP上REP提取表,每天晚上
  • 創建REP新表作爲LIVE表中定義
  • 建立動態SQL從LIVE來選擇表格轉化爲新創建的REP表格

我很擔心,因爲我知道SSIS可以是有趣的關於表的定義等等等等

我不是詢問如何構建動態SQL - 我已經做到了一部分,它運行完全罰款LIVE - 但它需要是跨服務器。

有沒有人曾經這樣做過?最佳做法是什麼?我甚至允許在一個SSIS包中使用動態SQL,並且可以調度?

+0

沒有什麼部分是跨服務器?如果您已經構建了動態SQL,則可以使用不同的連接(通過連接管理器)執行該SQL。 –

+0

那麼我建立的SELECT需要從'LIVE'中拉出來並在'REP'中填充表格...... –

回答

2

這可能給你一些想法:

,你構建降表動態,並通過創建一個結果集創建表的列表創建主要的工作流程:

Main Workflow

設置一個循環,遍歷在結果集中的每個表:

For each loop setup 1

For each loop storing current table in variable

然後在您的數據流任務,你可以從一個連接/表讀取和寫入到另一個:

Data flow task

+0

感謝那個Petar,它看起來像一個很大的幫助。在這個過程中的行蹤是否可以爲每個表的SELECT生成動態SQL? –

+0

這是第二個SQL任務 - 這是您可以生成表格列表的地方,例如從INFORMATION_SCHEMA.TABLES中選擇table_name –

+0

但是我需要爲在REP上創建的每個表創建不同的SELECT語句。我可以這樣做嗎? –