造成原因,客戶的sqlserver為2000版本,由於日誌過大無人管理,沒有空間了,然後客戶分離資料庫想刪除日誌(據說200g的日誌=.=),然後顯示分離出錯,但是重新整理後資料庫卻已經分離,刪除日誌後,資料庫無法附加,經過在網上查詢,總結出以下辦法,幸好有用的表都沒有損壞,只有統計表資料損壞,不過沒關係反正作業會重置這些表的.
--確保企業管理器沒有開啟任何資料庫
--設定資料庫緊急狀態
use master
gosp_configure 'allow
updates',1
go reconfigure with override
go--設定資料庫為緊急模式
update sysdatabases set status=-32768 where
dbid=db_id('procurement')
--重建資料庫日誌檔案
dbcc rebuild_log('procurement','d:\procurement_log.ldf')
--驗證資料庫一致性(可省略)
dbcc checkdb('procurement')
--設定資料庫為正常狀態
sp_dboption 'procurement','dbo use only','false'
--最後一步,我們要將步驟e中設定的「允許對系統目錄直接修改」一項恢復
sp_configure 'allow updates',0
go reconfigure with override
go現在你的資料庫就允許連線了,現在可以檢視一下每個表的資料是否有問題,如果有問題,只能找專業的資料回覆了.
無日誌檔案恢復資料庫方法兩則 一
方法一 1.新建乙個同名的資料庫 2.再停掉sqlserver 注意不要分離資料庫 3.用原資料庫的資料檔案覆蓋掉這個新建的資料庫 4.再重啟sqlserver 5.此時開啟企業管理器時會出現置疑,先不管,執行下面的語句 注意修改其中的資料庫名 6.完成後一般就可以訪問資料庫中的資料了,這時,資料庫...
通過日誌恢復資料庫
建立測試資料庫test create database test onprimary name test data.mdf filename d test data.mdf logon name test data.ldf filename d test data.ldf 建立測試表 create ...
從日誌中恢復SQL Server資料庫
上週有同事對資料庫進行了誤操作,問我可不可以回到前一天的狀態。恢復資料庫的問題以前學db2的時候遇到過,那時我想sql server中應該也會有方法把資料庫恢復到前一天的。我的機器上erp的資料庫日誌從800m增張到了2g,log增長得這麼快,想必是把所有的操作都記錄上了。網上找了幾天的資料,sql...