sqlserver数据库附加失败的解决办法
来源:网络收集 点击: 时间:2024-04-13打开sqlserver management studio,登录身份选择windows身份验证,点击连接


进入管理器中,选择数据库,右键,在弹出的菜单选择“附加”,如图所示,选择要附加的文件后,点击附加,如果没有报错,则完成附加,否则,需要接下来的数据修复。


报错,附加失败后,请新建数据库,且要与要附加的数据库同名。如要附加的数据库为skhprint,要新建的数据库名也要命名为skhprint,如图,点击确定,完成数据库创建


停止数据库



将原mdf文件,如skhprint.mdf复制到新创建的数据库所在目录中,之后,开启服务器


这是,会发现skhprint质疑,接下来要打开查询分析器,输入如下代码:
use master
go
--declare @databaseName varchar(50)
--set @databaseName=skhprint
--1修改服务器设置:允许对系统目录进行直接修改
sp_configure allow updates,1 reconfigure with override
go
--2将数据库置为紧急状态
update master.dbo.sysdatabases set status = 32768 where name = skhprint
go
--3删除新的ldf文件,重建日志:
dbcc rebuild_log(skhprint, f:khprint_log_new.ldf)--假设把新日志在f盘
go
update master.dbo.sysdatabases set status = 16 where name = skhprint
go
--4修改服务器设置:取消 允许对系统目录进行直接修改
sp_configure allow updates, 0 reconfigure with override
go
--再使用检查工具修复错误 dbcc
--5设置为单用户模式
alter database skhprint set single_user with rollback immediate
go
--6 修复数据库
dbcc checkdb (skhprint,REPAIR_ALLOW_DATA_LOSS)
go
--7 设置为多用户模式
alter database skhprint set multi_user
go
--执行完毕之后,如果还有错误,重复执行6,直到没有错误为止。
--根据提示操作
--如果没有其他问题,则修复成功!


数据附加失败,请勿对原数据库文件进行修改,否则会造成修复失败。
SQLSQLSERVERMDF修复版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_504501.html