文档库 最新最全的文档下载
当前位置:文档库 › 数据库损坏修复方法

数据库损坏修复方法


SqlServer服务器在运行过程中,突然发生操作系统错误、停电等原因造成的非正常中断,都有可能

造成数据库不能正常运行,从而影响到TradeMail无法正常运行,下面给出二种常见数据库错误修复方法


1.运行客户端时报"asta server error 未指定的错误"


停止SQL SERVER再启动,查询分析器中选中数据库Master,执行下列脚本(把tradecrm 改为你使用的数据库名)


exec sp_dboption tradecrm, n'single',n'true'
dbcc checkdb(tradecrm,repair_allow_data_loss)
dbcc checkdb(tradecrm,repair_rebuild)
exec sp_dboption tradecrm, n'single', n'false'


2.数据库出现"置毅",导致附加数据库也不成功错误:


备份数据文件,然后按下面的步骤处理:

1.新建一个同名的数据库(数据文件与原来的要一致)

2.再停掉sql server(注意不要分离数据库)

3.用原数据库的数据文件覆盖掉这个新建的数据库

4.再重启sql server

5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.

注:TradeCRM4 为数据库名,根据需要修改

USE MASTER
GO

exec SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='TradeCRM4'
Go

exec sp_dboption 'TradeCRM4', 'single user', 'true'
Go

DBCC CHECKDB('TradeCRM4')
Go

update sysdatabases set status =28 where name='TradeCRM4'
Go

exec sp_configure 'allow updates', 0 reconfigure with override
Go

exec sp_dboption 'TradeCRM4', 'single user', 'false'
Go




3. 手工附加数据库方法:


数据库在DOS下手动附加命令(一般安装MSDE无法自动附加时使用)



isql.exe -S MYCOMPUTER -U sa -P sa -Q "EXEC sp_attach_db @dbname = N'TradeMail4', @filename1=N'f:\test\DB\TradeMail4_Data.MDF', @filename2 = N'F:\test\DB\TradeMail4_Log.LDF'"

MYCOMPUTER 为SQLSERVER 机器名
sql server 用户名和密码为sa
TradeMail4 为数据库名
F:\test\DB\TradeMail4_Data.MDF 为数据库文件
F:\test\DB\TradeMail4_Log.LDF 为数据库日志文件


如果提示找不到isql.exe 路径的方法,请打开注册表 regedit

"SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup"
键值为:"SQLPath"




相关文档
相关文档 最新文档