电脑重装时,把C盘格式化了,一个项目的数据库日志文件不知道为什么建在了C盘,也跟着一起格式化了,差点就悲剧了,google了一下,找到了如下的方法
第一步:先建立一个同名数据库,停止SQL SERVER整个数据库,将原来的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库
第二步:查询分析器执行,
alter
database
NEWDBNAME
set
emergency
declare
@databasename
varchar
(255)
set
@databasename=
'NEWDBNAME'
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'
第三步:以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配....”错误,请多次重试执行以上代码 。
sql server 2008,测试有效,我执行了两次,第一次报错,第二次就没报错了。