日期:2014-05-18  浏览次数:20806 次

数据库发生置疑是怎么回事?
我用delphi编写了一个存取图片到SQLserver数据库的小程序,一开始存储的时候没有问题,存储多了4张图片数据库就发生了置疑,现在数据库都打不开了。为什么会发生这种情况啊?
      数据库置疑是什么意思啊?

------解决方案--------------------

解决SQL Server2K数据库置疑,介绍其解决方法:
首先我们分离数据库:
企业管理器--右键suspect的数据库--所有任务--分离数据库
  然后备份你的suspect数据库的文件,再按下面的步骤处理:
  1.新建一个同名的数据库
  2.再停掉sql server
  3.用suspect数据库的文件覆盖掉这个新建的同名数据库
4.再重启sql server
  5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
 USE MASTER
GO

SP_CONFIGURE 'ALLOW UPDATES ',1 RECONFIGURE WITH OVERRIDE
GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME= '置疑的数据库名 '
Go

sp_dboption '置疑的数据库名 ', 'single user ', 'true '
Go

DBCC CHECKDB( '置疑的数据库名 ')
Go

update sysdatabases set status =28 where name= '置疑的数据库名 '
Go

sp_configure 'allow updates ', 0 reconfigure with override
Go

sp_dboption '置疑的数据库名 ', 'single user ', 'false '
Go
  6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还有问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。  
  如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧:
  企业管理器--右键你的数据库--所有任务--导出数据
       --目标标数据库选择新建
       --选择 "在两个sql数据库之间复制对象和数据 "
       --把 "包含扩展属性 "选上,其他的根据需要选择
       --最后完成
===================================================