sqlserver 数据库文件损坏、数据库可疑修复处理
數(shù)據(jù)庫文件損壞、數(shù)據(jù)庫可疑了首先不要往數(shù)據(jù)庫文件所在的磁盤寫入任何數(shù)據(jù)文件,此電腦暫時(shí)先不要往磁盤寫入任何東西,也不要在sql編輯器里去刪除數(shù)據(jù)庫。
一、先停止sqlsever服務(wù),將數(shù)據(jù)庫MDF文件和LOG文件復(fù)制到C盤系統(tǒng)盤下,然后壓縮復(fù)制到另一臺(tái)數(shù)據(jù)庫機(jī)上,如果出現(xiàn)無法復(fù)制,將該數(shù)據(jù)庫所在盤,右鍵,屬性,檢查文件系統(tǒng)錯(cuò)誤(勾上修復(fù)磁盤文件錯(cuò)誤),修復(fù)完成后,再復(fù)制。
二、數(shù)據(jù)庫文件復(fù)制過來后,用以下方法進(jìn)行修復(fù)
sqlserver 數(shù)據(jù)只有mdf文件,如何附加
1、新建一個(gè)同名的數(shù)據(jù)庫
2、停止sql服務(wù),刪除新建數(shù)據(jù)庫.ldf文件,將拷貝過來的原mdf文件直接覆蓋新建數(shù)據(jù)庫的mdf文件,并重啟服務(wù)
3、?這時(shí)數(shù)據(jù)庫DATA目錄下只有一個(gè).mdf文件,啟動(dòng)sql server Management studio --新建查詢
use master Goalter database 數(shù)據(jù)庫名 set emergency go --置數(shù)據(jù)庫為單用戶模式 alter database db_name set SINGLE_USER go --重建數(shù)據(jù)庫日志文件,路徑存放在DATA所在目錄底下 alter database 數(shù)據(jù)庫名 Rebuild Log on (name=數(shù)據(jù)庫名_log,filename='D:\..\data\數(shù)據(jù)庫名_log.ldf') go --最后設(shè)置數(shù)據(jù)庫為多用戶模式。 alter database 數(shù)據(jù)庫名 set multi_user--通過以上方法修復(fù)數(shù)據(jù)庫后,可以dbcc checkdb一下數(shù)據(jù)庫,如果發(fā)現(xiàn)頁級(jí)錯(cuò)誤,可以通過以下命令修復(fù)。 --這兩個(gè)命令要在單用戶的情況下使用Use master go alter database [數(shù)據(jù)庫名] SET SINGLE_USER --設(shè)置為單用戶模式 dbcc checkdb(數(shù)據(jù)庫名,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(數(shù)據(jù)庫名,REPAIR_REBUILD)--最后設(shè)置為多用戶模式 alter database 數(shù)據(jù)庫名 set multi_user--這樣數(shù)據(jù)庫就修復(fù)回來了 OK4、修復(fù)好數(shù)據(jù)庫后運(yùn)行卡慢的話也可以DBCC修復(fù)一下表,重建一下索引
--DBCC前同樣要改成單用戶模式 DBCC checktable ('students', REPAIR_ALLOW_DATA_LOSS) DBCC DBREINDEX('students') ..... --DBCC完后要改回多用戶模式--表重建索引 IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[students]') AND name = N'students_Index')DROP INDEX [students_Index] ON [dbo].[students] WITH ( ONLINE = OFF ) CREATE NONCLUSTERED INDEX [students_Index] ON [dbo].[students] ([id] ASC )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]5、如果有的表insert失敗時(shí),提示主鍵重復(fù)沖突,可以重置一下表的最大值
select max(id) from students --取出最大id值32584. dbcc checkident(students, reseed, 32585) --重置最大值.總結(jié)
以上是生活随笔為你收集整理的sqlserver 数据库文件损坏、数据库可疑修复处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我们是怎样发出声音的?
- 下一篇: iOS手势的传递问题