SQL 2000置疑库的修复方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库置疑如何修复
∙
∙|
∙浏览:748
∙|
∙更新:2014-05-29 11:06
注:请将下文中的iccard 替换成相应软件的数据库名。
此处以某进销存软件为例说明:
1.停止SQL Server的服务,备份SQL Server安装目录下的data子目录一个
iccard_log.ldf(也有可能非此命名),
同时查看磁盘
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为空间是否有足
够的空间;原来数据库的名字。
3.停止SQL Server
4.把老数据库的MDF文件(iccard_data.mdf)替换
新数据库的相应的MDF文件,
并把LDF文件(iccard_log.ldg)删除。
5.重新启动SQL Server服务,然后运行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'iccard' --Verify one row is updated before committing
commit tran
go
6.停止SQL然后重新启动SQL Server服务,然后运行如下命令(更换日志文件路径地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG
('iccard',
'c:Program FilesMicrosoft SQL ServerMSSQLDataiccard_log.ldf') --在这里,请输入你的数据库的路径
Go
7.停止SQL然后重新启动SQL Server服务,然后运行:
use master
go
update sysdatabases set status = 8 where name = 'iccard'
go
sp_configure 'allow updates', 0
reconfigure with override
go
8.运行dbcc checkdb(iccard) 检查数据库的完整性
9.修复数库
--请在查询分析器中执行下列语句.执行前断开其它
所有数据库连接,最好是断开网线
--如果不是该数据库名,请将数据库
--iccard
--改为要修复的数据库
USE master
Go
--单用户模式
EXEC sp_dboption 'iccard', 'single user', 'TRUE'
go
--数据库检查
DBCC CHECKDB ('iccard')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复--数据库修复
DBCC CHECKDB ('iccard','repair_rebuild')
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;
DBCC CHECKDB ('iccard')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data_loss'再试,
之后再次检查数据库。
--如果还有错误未修复,请把这些信息以文字的方式发给我们--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'iccard', 'single user','FALSE'
go