iT邦幫忙

0

mssql資料庫搬移時,怎樣出所有需要的資料會比較好?

  • 分享至 

  • xImage

公司最近要我用c#寫一隻mssql資料庫搬移的程式,大概的內容如下: 將舊有已經上線資料庫中某些資料表的資料撈出來,進行後端的程式處理後,最後在INSERT至新的資料庫。其中最大的資料表大概有800萬筆資料,而且那個資料表有100多個欄位,想請問各位大大在碰到這種情況時,通常會怎麼取出所有需要的資料呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
PPTaiwan
iT邦好手 1 級 ‧ 2021-12-20 09:40:28
最佳解答

其中最大的資料表大概有800萬筆資料

個人做法,搬過 450 萬筆資料,在不影響主資料庫的運作,我會將備份匯入到新的歷史資料庫,並以舊資料表比對,在特定時間(用 SQL Server Agent 以跨資料庫的方式處理) 或是以分頁的方式將其資料再慢慢的進行更新過去。

2
純真的人
iT邦大師 1 級 ‧ 2021-12-19 18:14:14

我應該會繞過程式處理~因為太慢了~
直接用資料庫寫SQL語法判斷撈過去~

ckp6250 iT邦好手 1 級 ‧ 2021-12-19 18:54:51 檢舉

同意!
sql 的事,sql 解決。

800萬筆的話,我倒是真的不建議直接用SQL。
我跟你們兩個看法不一樣。

不過我的案例是mysql。可能mssql可以辦到。
曾經也是跟你們一樣,直接下命令轉過去。
然後機器就承載不了掛掉了。
還好我的習慣是做新的資料表,所以掛了還沒關係。重建就好了。

哈~機器掛掉~這個就真的要看當時狀況調整了~

0
阿恢
iT邦新手 4 級 ‧ 2021-12-20 09:14:41

直接寫一支Stored Procedure,然後用C#去呼叫它,若公司要求要有"畫面"的話。

若沒有,就sql語法寫一寫,執行完畢就可以交差了。

1
souda
iT邦高手 1 級 ‧ 2021-12-20 09:22:28

啟動 SQL Server 匯入和匯出精靈
適用範圍: 是SQL Server (所有支援的版本) 是 Azure Data Factory 中的 SSIS 整合執行階段

使用此主題中所述的其中一種方式來啟動 [SQL Server 匯入和匯出精靈],以從中匯入資料,並將資料匯出至任何支援的資料來源。

https://docs.microsoft.com/zh-tw/sql/integration-services/import-export-data/start-the-sql-server-import-and-export-wizard?view=sql-server-ver15

0
crystalshk
iT邦見習生 ‧ 2021-12-24 20:21:48

直接寫Stored Procedure,然後用C#去呼叫它或用sql語法寫一寫,就可以交差.
https://crystalshk.blogspot.com/2021/12/blog-post_63.html

我要發表回答

立即登入回答