附加SQL2000数据库823错误
1个回答
展开全部
有没有附加日志文件,
如果库文件和日志文件一块附加都附加不上的话,按以下步骤操作:
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,在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
。如果修复过程中有错误则库损坏严重,可能修复失败。
追问
非常感谢您,通过该方式数据库能添加,但是在使用的时候还是报错。。。。。不过还是非常感谢!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询