天下無雙
阿龍 --质量是流程决定的。

备份数据文件,然后按下面的步骤处理:  
   
  1.新建一个同名的数据库(数据文件与原来的要一致)  
   
  2.再停掉sql   server(注意不要分离数据库)  
   
  3.用原数据库的数据文件覆盖掉这个新建的数据库  
   
  4.再重启sql   server  
   
  5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)  
   
  6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用  
  数据库的脚本创建一个新的数据库,并将数据导进去就行了.  
   
   
   
  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

 

 

------------

方法一:  
  use   master  
  go  
   
  exec   sp_attach_single_file_db   'dbname',   '完整路徑的数据库MDF文件'  
  方法二:  
  use   master  
  go  
   
  exec   sp_attach_db   @dbname='dbname',@filename1='完整路徑的数据库MDF文件'  


------------
1、先建一个相同的数据库。库文件名称一样。  
  2、停止sql   server    
  3、将原有的数据库mdf文件替换新的mdf文件  
  4、重启sql   server   ,此时数据库变为置疑状态  
  5、执行以下语句:  
  sp_configure   'allow   updates',   1  
  reconfigure   with   override  
  update   sysdatabases   set   status='32768'   where   name='databasename'  
  DBCC   rebuild_log   ('databasename','d:\databasename.ldf')  
  update   sysdatabases   set   status='0'   where   name='databasename'  
  sp_configure   'allow   updates',   0  
  reconfigure   with   override  
   
  刷新一下,数据库就正常啦  

--
DBCC   rebuild_log   ('databasename','d:\databasename.ldf')之前最好能将新间库的log文件删除再执行,这样最好,不然还是存在问题

posted on 2008-04-06 10:30  阿龍  阅读(1180)  评论(0编辑  收藏  举报