
如果库文件和日志文件一块附加都附加不上的话,按以下步骤 *** 作:
1,在sqlserver中新建库(新建没有表的空库,库名为你附加失败的库名),记住数据库文件存放地址(最好指定目录)。
2,停止sqlserver服务,在新建的库文件目录下将日志文件删除(.ldf),然后将附加失败的库文件覆盖进去。
3,启动sqlserver服务,但不停止一切连接该库的服务。
然后执行语句:
use master
go
alter database db_name set emergency
go
4、置为单用户模式,并重建日志:
alter database db_name set single_user with rollback immediate
go
alter database db_name Rebuild Log on (name=log_name,filename='C:\log_name.ldf')
go
alter database dbname set multi_user
go
其中日志文件目录及文件名按实际情况填写。
5、dbcc checkdb尝试修复库。
Use master
go
sp_dboption 数据库名, single, true
dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(dbname,REPAIR_REBUILD)
go
sp_dboption 数据库名, single, false
go
。如果修复过程中有错误则库损坏严重,可能修复失败。
1、错误5123是因为当前用户对原数据库文件没有读或写的权限,这一般是NTFS文件系统中,文件的读写权设定不当造成。最简单的做法,将数据库文件所在的硬盘分区的读写权设为所有人可读写,并将这个权限继承到所有文件。
2、具体做法各版本的win稍有不同,一般主要方向:打开我的电脑,对相应分区点右键,点属性,然后参照下图(这是win7界面):
将everyone的所有的设为允许就可以了,然后点高级钮,在里面将当前的设定应用“于所有文件和文件夹”(大体是这个意思)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)