iT邦幫忙

0

SQLSERVER快速還原一問

ser

最近公司用的sqlserver 2000的容量變大了
備份的速度也變的很慢,還原就更不用說了
目前所使用的備份方式是直接在Enterprise manager設定排程做備份
但是在還原時就會遇到很大的問題
還原的速度時在太慢了,Boss無法接受
在經過一週的尋找之後,發現Acronis有出一款針對SQLSERVER的備份軟體
可是廠商建議不要使用,因為似乎做的並沒有很完善,害怕會出問題
不知道是否有邦友有使用這套備份還原軟體,可提供使用感想做為參考
或是有邦友有使用過其它的備份還原軟體針對SQLSERVER 2000,有不錯的效果
也請提供,感謝邦友們的協助

看更多先前的討論...收起先前的討論...
弱弱的問一下
請問樓主有沒有定期清理SQL的LOG檔
CalvinKuo iT邦大師 7 級 ‧ 2012-05-03 16:24:25 檢舉
我比較好奇MDF有多大... 還原模式是簡易的話就會自動截斷LDF交易紀錄檔...
然後是怎樣備份的... 用硬碟還是磁帶備份?

若是100G以上,效能也是很大的問題吧。
這樣就不知道適不適合用複寫來處理備援問題...
CalvinKuo iT邦大師 7 級 ‧ 2012-05-03 16:25:30 檢舉
iT邦幫忙MVPcalvinkuo提到:
還原模式是簡易的話,備份時就會自動截斷LDF交易紀錄檔...
CalvinKuo iT邦大師 7 級 ‧ 2012-05-03 16:34:09 檢舉
備份與還原速度來說,還原大概要備份時兩倍速度吧....
還原SharePoint 2003到測試環境約50G資料,大概要2.5小時,正式環境備份大概50分鐘(因測試環境的硬體較差)。
魯大 iT邦高手 1 級 ‧ 2012-05-03 17:57:18 檢舉
目前最大的資料庫大約14G
每次要還原都會很慢...
如果有那種可以只還原某個table的方式就好了..
魯大 iT邦高手 1 級 ‧ 2012-05-03 17:58:44 檢舉
每天都會做一次完整備份
如果沒記錯的話,做完整備份後,會自動清LOG
looney提到:
還原某個table


這對其他資料表會造成不對稱吧汗汗汗
CalvinKuo iT邦大師 7 級 ‧ 2012-05-04 09:53:44 檢舉
資料庫這樣沒多大吧...
我們用ERP的主資料庫約14G,還原到本機另一個測試區資料庫。用檔案還原約10分多,用DAT72磁帶就最少要半小時。做有索引的Table做初次複寫散發快照也約半小時。

會不會是資料庫所使用硬碟剩餘空間不足造成效能問題(增加14G暫存後,空間剩不到20%)...
魯大 iT邦高手 1 級 ‧ 2012-05-04 14:59:44 檢舉
一般的還原只是因為有user刪錯資料所以要還原
而這情況只需還原某幾個table就行了
所以,我會先還原到另一個資料庫,然後再針對需還原的table進行資料移轉
魯大 iT邦高手 1 級 ‧ 2012-05-04 15:01:54 檢舉
硬碟所剩的空間真的不大,不過還有20g左右的空間
這樣會有影響嗎??
swift iT邦新手 2 級 ‧ 2012-05-09 09:40:22 檢舉
資料庫所在的storage是否是raid? 加強Disk I/O也是一種解法...
CalvinKuo iT邦大師 7 級 ‧ 2012-05-09 14:27:19 檢舉
若硬碟總容量100G,剩20G就真的不大。
再加上可用空間是碎裂的,就有可能還原時會耗時過久。
若使RAID5或6寫入效能(需要編碼)也會差一點。
魯大 iT邦高手 1 級 ‧ 2012-05-09 14:50:17 檢舉
有做raid5
看來換一台新的主機是必定要做的了..
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
hisniper
iT邦新手 2 級 ‧ 2012-05-15 11:02:03
最佳解答

之前有同樣的想法.因為標準的備份與某些三方工具.都需要整個DB還原
但面對幾10G的DB,若只要要還原其中的某個Table就會顯得很沒效益。
我的作法如下.
1.如上說明的備份仍然執行,但用於大形災害
2.第二套備份是用 卸離Detach > copy xx.mdf > 掛載Attach 資料庫
若遇到想要快還原某Table,只要把剛Copy的 .mdf 掛載到臨時的DB Name上
就可以還原了.
所以第二套備份的備份檔,我是直接放在同一顆硬碟,這樣可以加快還原的速度.來應付工作上的效率

另有個個可能的方法.我沒實作過,但應可以取代上述的第二套備份
且可以避免為了Detach DB所需停止系統(ex.ERP系統)
方法.利用SQL的匯出工具,把DB指定匯出至備份的DB Name上,
並把它封裝SSIS,再設定定時ex.am1 來執行

以上想法分享,若有錯誤,請不吝指摘

我要發表回答

立即登入回答