從日誌中恢復SQL Server資料庫

2021-03-31 08:56:30 字數 907 閱讀 5712

上週有同事對資料庫進行了誤操作,問我可不可以回到前一天的狀態。恢復資料庫的問題以前學db2的時候遇到過,那時我想sql server中應該也會有方法把資料庫恢復到前一天的。我的機器上erp的資料庫日誌從800m增張到了2g,log增長得這麼快,想必是把所有的操作都記錄上了。網上找了幾天的資料,sql server books online也看了乙個星期,沒有找到答案,csdn上找到一篇從日誌恢復資料庫的文章同sql server online上面的說明一樣寫的不清不楚。問了幾個公司裡資歷深一點的同事,都沒有找到答案,昨天早晨6點半的時候醒來,想起db2中的恢復模型,恢復的資料庫應該是在恢復點之前的資料庫,於是早早就起來,來到辦公室,實驗了一次,以為會成功,沒想到還是沒有成功恢復,很沮喪。

研究這個問題都乙個星期了,仍然沒有解決,整個星期五一天都不好受,想起了boy,乙個新人訓時跟我們開交流會的rd leader。結果還是沒有答案,不過boy很熱情,把這個問題**給了我們的dba running,running好象是搞oracle的,sql server中的這種恢復也不熟悉,不過他說:多從原理方面考慮。

沒輒,只好到microsoft的官方**上面去找一下,溜達了一圈,有一篇文章提到,最好不要使用auto close,auto shrink選項,我想可能是這兩個選項的問題吧。於是周五下午的時候,又試了一次,sql query analyzer裡面執行restore database等了半天都沒反應,我只好祈禱能夠恢復成功,結果並不如人願,出來了紅色的錯誤資訊,說是資料庫訪問衝突,原來是sql server enterprise manager也在使用資料庫,於是關了enterprise manager,果然順利恢復了資料庫,高興地快要跳起來。

工作幾個月,常常都感覺到理論方面的基礎知識不夠豐富,一些幫助文件看不懂,或者執行不了的時候,常常都是因為理論基礎。一些問題想要去解決常常要花很長的時間,所以以後還是從基礎理論入手學習資料庫。

從日誌中恢復

上週有同事對資料庫進行了誤操作,問我可不可以回到前一天的狀態。恢復資料庫的問題以前學的時候遇到過,那時我想sqlserver中應該也會有方法把資料庫恢復到前一天的。我的機器上erp的資料庫日誌從800m增張到了2g,log增長得這麼快,想必是把所有的操作都記錄上了。網上找了幾天的資料,sqlserv...

從日誌中恢復SQL Server資料庫到時間點

db2中可以使得資料庫回覆到指定的時間點,sql server資料庫的recovery model為full 或者bulk copy的時候,是可以從日誌來恢復資料庫的。實際上日誌中記錄的一條一條的transact sql語句,恢復資料庫的時候會redo這些sql語句。前提條件 mybbs是資料庫te...

sqlserver 恢復模式及避免日誌爆滿的方法

recovery 迴圈日誌,空間自動 不可備份日誌,恢復時僅能恢復到資料庫備份時間點 用於落地資料或測試環境或olap,不推薦用於生產oltp 有時候distribution過大也可置為 recovery bulk logged 常規操作日誌正常記錄,特定操作時僅記錄少量日誌 恢復時特定操作將做回滾...