只有.MDF文件 怎么样附加数据库

只有.MDF文件 怎么样附加数据库,第1张

1、先新建一个同名数据库,然后停止sql服务,删除新建数据库ldf文件

2、将要附加的数据库的mdf文件覆盖刚新建的mdf文件,并重启服务。

这时数据库DATA目录下只有一个mdf文件,启动sql server Management studio --新建查询

use master

Go

alter database db_name set emergency

go

--置数据库为单用户模式

alter database db_name set single_user with rollback immediate

go

--重建数据库日志文件

alter database db_name Rebuild Log on (name=log_name,filename='C:\log_nameldf')

go

--最后设置数据库为多用户模式。

alter database dbname set multi_user

打开sqlserver management studio,登录身份选择windows身份验证,点击连接

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

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

停止数据库

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

这是,会发现skhprint质疑,接下来要打开查询分析器,输入如下代码:

use master

--declare @databaseName varchar(50)

--set @databaseName='skhprint'

--1修改服务器设置:允许对系统目录进行直接修改

sp_configure 'allow updates',1 reconfigure with override

--2将数据库置为紧急状态

update masterdbosysdatabases set status = 32768 where name = 'skhprint'

--3删除新的ldf文件,重建日志:

dbcc rebuild_log('skhprint', 'f:\skhprint_log_newldf')--假设把新日志在f盘

update masterdbosysdatabases set status = 16 where name = 'skhprint'

--4修改服务器设置:取消 允许对系统目录进行直接修改

sp_configure 'allow updates', 0 reconfigure with override

--再使用检查工具修复错误 dbcc

--5设置为单用户模式

alter database skhprint set single_user with rollback immediate

--6 修复数据库

dbcc checkdb ('skhprint',REPAIR_ALLOW_DATA_LOSS)

--7 设置为多用户模式

alter database skhprint set multi_user

--执行完毕之后,如果还有错误,重复执行6,直到没有错误为止。

--根据提示 *** 作

--如果没有其他问题,则修复成功!

讲哪一种方法能够正常恢复都是片面的,这种情况下,你应该在保存好备份文件的前题下,多试几种方法。

比如用企业管理器附加,在查询分析器中通过T-SQL语句附加,建同名空库后复盖数据文件等。

这里价绍了几种方法,您看一下吧:

>

以上就是关于只有.MDF文件 怎么样附加数据库全部的内容,包括:只有.MDF文件 怎么样附加数据库、sqlserver出现数据库不能附加怎么回事、附加数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10149257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存