有一位網友提到說
要把 A 電腦SQL SERVER 資料庫其中一個 table 傳至 B 電腦SQL SERVER 資料庫中 table 裡,我是先用ssis去做設定的(資料流程工作),但是我在 A 電腦資料庫 table 會隨時去增加資料行(column),但無法動態把新的資料行(column)一起傳至 B 電腦資料庫中 table,我在 B 電腦資料庫中 table只看到舊有的資料行(column)資料內容,但新增加的資料行(column)無法一起傳過來,請問阿德要如何解決?
有一位網友提到說
要把 A 電腦SQL SERVER 資料庫其中一個 table 傳至 B 電腦SQL SERVER 資料庫中 table 裡,我是先用ssis去做設定的(資料流程工作),但是我在 A 電腦資料庫 table 會隨時去增加資料行(column),但無法動態把新的資料行(column)一起傳至 B 電腦資料庫中 table,我在 B 電腦資料庫中 table只看到舊有的資料行(column)資料內容,但新增加的資料行(column)無法一起傳過來,請問阿德要如何解決?
以上的問題,我試作了一下SSIS發現有一個控制項可以達到此目的,以下為解決方法
以Sql server 2008 r2的ssis來當作demo
Step1:在ssis中的控級流程頁籤中,拉出一個”傳送Sql server物件工作”
Step2: double click這個控制元件,選擇左方的物件,先將連接的來源及目的地資料庫設定好
Step3:接下來就是選擇你要copy的table,選擇的方式如下,其他的什麼view或procedure之類的都是以此類推
Step4:設定在複製前先刪除目的地的table,再重建資料表,並將來源資料表的資料複製到目的地資料表中
這些選項你可以依你自己的情況設定,不一定都要照我的,反正在一開始初期測試時就多試試看結果會是如何吧
Step5:在下方的資料表選項中,記得要複製pk鍵及索引
Step6:以下為執行結果,一個成功後,就可以將這個物件複製成多個,只是去改目的地資料庫。
以下是我的原始來源資料表中,然後我再另外加一個col上去
執行完這個物件後
目的資料庫中也會產生一個一模一樣的資料表,不管是欄位還是資料內容及key都有
使用了這個控制項,就可以不必擔心來源資料表的欄位異動了,這樣目的資料表就會
是同步的了。