none
資料庫沒有備份,該如何使用交易記錄還原 RRS feed

  • 問題

  • 今天在操作資料庫,下完update 指令後發現忘了下where ,導致一萬多筆資料全更新到

    我沒有備份資料庫

    也沒有備份交易記錄

    該如何才能還原呢?

    我使用的是sql 2000
    • 已編輯 蛤? 2011年11月21日 下午 12:36
    2011年11月21日 下午 12:34

解答

  • 看要不要試試看 LiteSpeed,看能不能救回來,雖然你說你沒有備份交易紀錄,但如果沒有清掉交易紀錄的話可能還有得救,(但不能保證一定能或依定能全部)

    LiteSpeed是利用交易記錄檔去做還原的third-party工具,

    可以參考一下Cary大的文章, http://caryhsu.blogspot.com/2011/10/sql-server.html

    此外,建議還是要定期做資料上的備份,

    例如一個月一次的全備,一星期一次的差異備分,然後每隔一段時間的交易紀錄備分,

    當然時間怎麼抓,就要看你資料庫的重要性狀況而定了

    • 已標示為解答 蛤? 2011年11月22日 上午 04:03
    2011年11月22日 上午 02:27

所有回覆

  • 參考這篇看看。

    http://stackoverflow.com/questions/283274/rolling-back-and-update-command-in-sql-server-2000


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年11月21日 下午 02:27
    版主
  • Can't do anything if you never backup that db.
    2011年11月21日 下午 03:20
  • 看要不要試試看 LiteSpeed,看能不能救回來,雖然你說你沒有備份交易紀錄,但如果沒有清掉交易紀錄的話可能還有得救,(但不能保證一定能或依定能全部)

    LiteSpeed是利用交易記錄檔去做還原的third-party工具,

    可以參考一下Cary大的文章, http://caryhsu.blogspot.com/2011/10/sql-server.html

    此外,建議還是要定期做資料上的備份,

    例如一個月一次的全備,一星期一次的差異備分,然後每隔一段時間的交易紀錄備分,

    當然時間怎麼抓,就要看你資料庫的重要性狀況而定了

    • 已標示為解答 蛤? 2011年11月22日 上午 04:03
    2011年11月22日 上午 02:27
  • 我有試過 LogExplorer4SQLServer 去還原

    在本機上測試可以正常還原

    可是拿到伺服器上卻顯示找不到資料

    從ViewLog 的功能看最後下的update 指令,裡面還真的是空空如也

    但對insert 、delete 支援度相當高

    update 看來是無解了

     

    2011年11月22日 上午 04:03
  • Because sql truncates committed transactions from log at checkpoints, what you saw are transactions either not commit yet or committed after last checkpoint.
    2011年11月22日 下午 02:13