iT邦幫忙

0

還原資料庫(200G)的問題 ...

最近有一台sqlserver2000的資料庫,
需要做還原的動作,
雖然成功的還原回去,
但是database size大約有兩百多G的資料量,
還原耗時一天一夜的時間才還原完成(我還以為當機咧...),
這是我第一次還原這麼大的資料庫,
想請教有什麼方式可以加速還原動作或是減少還原時間???

tom6507 iT邦大師 1 級 ‧ 2009-12-24 15:02:55 檢舉
你連你的備份架構跟磁帶機規格都沒說,是要怎樣跟你討論如何減少備份&還原的時間呢
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
20
debbie79
iT邦新手 4 級 ‧ 2009-12-24 15:05:22
最佳解答

200G 是因為沒有清log及壓縮嗎??

DUMP TRAN [資料庫名] WITH NO_LOG
DBCC SHRINKDAABASE ([資料庫名],[剩餘空間百分比])

試著先縮小容量看看

bobhsieh iT邦新手 2 級 ‧ 2009-12-24 15:47:34 檢舉

該資料庫不是我備份的,
所以不清楚該粢料庫是否有無壓縮DB、清Log ...

我所要做動作是要把備份檔還原回去而已,
就花費許久時間 ...
我的青春 ><

fpchen iT邦新手 1 級 ‧ 2009-12-29 10:25:04 檢舉

備份(做)的人和還原(需求)的人不同人,就會有不知道,只有明瞭投入和產出相關細節,經由討論或詢問才能知道對不對和需不需這些動作.

16
cheng
iT邦好手 1 級 ‧ 2009-12-25 08:05:07

SQL資料庫有一個叫做交易紀錄檔
一般這個檔案會紀錄SQL異動紀錄
一般而言這個交易紀錄檔案都會比資料庫來的大
建議可以清除此交易紀錄

12
lionab
iT邦新手 2 級 ‧ 2009-12-25 13:50:27

如果想要減少還原資料庫的時間, 有二個方法:
A. 用更新更快的硬體配備
B. 想辦法在事前就減少SQL 備份後的 BAK 檔案大小
A方式就不用說了, B大致上有以下方法

  1. 如果公司沒有稽核或其他特別的還原需要, 可以將SQL的復原模型設為"簡易模式", 這樣設定後的LOG檔會增長的比較慢, 備份後的 BAK檔也會比較小
  2. 如果復原模型一定要設完整模式的話, 可以定期清掉 LOG檔, 清掉 LOG檔的方法, 可以用以下指令備份LOG檔
    BACKUP LOG db_name WITH TRUNCATE_ONL
    再用下面指令將LOG檔縮小成 100MB
    DBCC SHRINKFILE(db_name_log, 100)
    之後再作完整備份, 因為 LOG檔變小了, 備份後的 BAK檔也會比較小
    3.使用其他協力廠商的 SQL Server備份軟體, 如 Litespeed, 這套軟體不便宜, 大約十幾萬, 由於它在備份有壓縮功能, 以我們公司 150GB的容量為例, 壓縮後的備份檔只有 6GB, 備份時間約50-60分鐘, 雖沒試過還原功能, 所以沒辦法給您確切的還原時間, 但應該比SQL本身內建的還原功能強.
bobhsieh iT邦新手 2 級 ‧ 2009-12-25 15:08:42 檢舉

我的習慣是用"完整模式";看樣子可能要利排程方式,設定自動壓縮,要不然再搞個幾次,其它事情都不要做了 ><

我要發表回答

立即登入回答