或者在查詢分析器中輸入:sp_attach_db "數據庫名稱","路徑\文件名.ldf","路徑\文件名.MDF" SQL Server數據庫備份有兩種方式,一種是使用BACKUP DATABASE將數據庫文件備份出去,另外一種就是直接拷貝數據庫文件mdf和日志文件ldf的方式
如果是簡單的數據庫質疑,可以使用以下:
1.新建一個同名的數據庫
2.再停掉sql server
3.用suspect數據庫的文件覆蓋掉這個新建的同名數據庫
4.再重啟sql server
5.此時打開企業管理器時新建的同名數據庫會出現置疑,先不管,執行下面的語句(注意修改其中的數據庫名)
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='his222'
Go
sp_dboption 'test', 'single user', 'true'
Go
DBCC CHECKDB('test')
Go
update sysdatabases set status =28 where name='test'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'test', 'single user', 'false'
Go
6.完成后一般就可以訪問數據庫中的數據了,這時,數據庫本身一般還要問題,解決辦法是,利用
數據庫的腳本創建一個新的數據庫,并將數據導進去就行了.
如果這樣改不加數據庫狀態,你就把數據庫導成一個新庫來代替舊庫吧
企業管理器--右鍵你的數據庫--所有任務--導出數據
--目標標數據庫選擇新建
--選擇"在兩個sql數據庫之間復制對象和數據"
--把"包含擴展屬性"選上,其他的根據需要選擇
--最后完成
----目前正在做得修復表的操作如下,大家看看還有沒有其它方法
USE MASTER
GO
sp_dboption '問題數據庫', 'single user', 'true'
Go
DBCC CHECKDB('問題數據庫', REPAIR_ALLOW_DATA_LOSS)
Go
USE '問題數據庫'go
exec sp_msforeachtable 'DBCC CHECKTABLE("問題表",REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX("問題表")'
go
sp_dboption '問題數據庫', 'single user', 'false'
Go
你好,如果報錯,可能有用戶正在使用庫,在進程管理里面殺掉sa用戶進程,重新執行,直到成功嘗試對其進行不丟失數據的修復:DBCC CHECKDB('fdshop',REPAIR_REBUILD)嘗試對其進行可能丟失數據的修復:DBCC CHECKDB('fdshop',REPAIR_ALLOW_DATA_LOSS).將數據庫置為多用戶模式。
F/設置test為緊急修復模式
G/執行真正的恢復操作,重建數據庫日志文件
執行過程中,如果遇到下列提示信息:
服務器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定數據庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該數據庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那么退出SQL Server Enterprise Manager就可以了。
SQL數據庫修復大師6.63,是一款功能強大的數據庫修復工具。
SQL數據庫修復大師v6.63 在文件修復算法上進行了深度的更新 使文件的修復更完美 提升了掃描速度。
支持對SQL 2000 SQL2005 SQL2008 的mdf文件進行修復,支持數據庫日志(LDF)生成,直接附加對數據庫823錯誤 質疑錯誤 效果最佳 完美支持中文記錄