关于SQL2005无ldf修复的问题
忆轩辕 2009-11-16 04:58:13
今天正好想到这个问题,于是网上找了一下.
有一种方法是这样解决:新建一个库,然后用之前的mdf覆盖,然后执行接下来的语句(这边以pubs库为例)
use master
go
alter database pubs set emergency
go
declare @databasename varchar(255)
set @databasename='pubs'
exec sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'
我现在的疑问就是那2句DBCC CHECKDB上,我觉得首先应该用DBCC CHECKDB(@databasename)来检查,如果没问题,就不需要继续检查,如果还是有问题,也是先用REPAIR_REBUILD然后再用REPAIR_ALLOW_DATA_LOSS选项来修复,而且用了repair选项修复之后是需要再次检查约束之类的才行,不知道我的理解是否有问题...........想求证一下