[SQL Server] 在AG下如何更快匯入資料和Rebuild Index? (使用Import/Export Wizard)

背景:
  • 公司的測試環境需要匯入Production資料庫的所有資料,然後必須Rebuild Index。資料庫規模約150GB;
  • 匯入測試環境要求在兩個小時內完成。
  • 測試環境使用SQL Server 2012技術,Primary跟Secondary硬體效能上有明顯落差( Secondary差很多 )。
  • 之前經驗在測試環境的Primary中使用Import/Export wizard 匯入大量資料發現很慢。
  • 測試環境Primary跟Secondary之間使用Sync Commit Mode。

估計匯入資料很慢可能的原因:
  • 發現每次進行資料匯入時,Secondary的I/O出現破表的情況。Rebuild Index時也同樣出現此情況。最大原因是因為選攞了Sync Commit Mode,由於兩台硬體速度上的差異,出現大量HADR_SYNC_COMMIT 拖慢進度。

小弟之解決方案:
  • 先把需要匯入資料的測試環境資料庫從AG中移除。
  • 在Primary中使用Import/Export Wizard匯入資料,會明顯發現速度快了接近200%。
  • 匯入完畢以後, 在Primary中Rebuild Index。
  • 在Primary中進行full backup。
  • 把資料庫重新加進AG。

總結:
利用先把資料庫從AG中移除再加回去這種方式匯入資料會比之前速度快了一倍多,對於缺乏預算硬體又不好的測試環境效果比較明顯,後來小弟在Production用同樣方法,由於Production Primary跟Secondary兩台機器也是開外掛的級數,加上Fiber加持所以匯入速度沒有很充分的理據需要這樣弄,畢竟年關將近,Production的設定還是少碰為妙....




Popular posts from this blog

[SQL SERVER] 找出LOCK方法懶人包

[SQL Server] 解決log檔(ldf file)過度膨脹的實戰經驗

[Windows7] 跨距磁碟區, 等量磁碟區, 鏡像磁碟區之區別