科脉挽救数据库损坏的方法

科脉挽救数据库损坏的方法

科脉挽救数据库损坏的方法
  


条件:原库的 .mdf 文件是完好的即可。

请在SQL Server的查询分析器中按以下步骤执行
假设数据库名为:kmjxc (如果您的数据库名不是kmjxc,需要更改以下语句中相应的kmjxc为您的数据库名称)

0.先用KM db_setup.exe建立一个空库,然后将有数据的 .mdf文件复制过来
  覆盖现有的空库的.mdf文件。

1.把数据库设成紧急状态:
  然后在SQL查询分析器中,选到kmjxc数据库,输入以下语句执行(一条一条执行)
   sp_configure 'allow',1
   reconfigure with override
   update sysdatabases set status=32768 where name='kmjxc'

2.重建日志文件(请将路径换成你的数据文件路径)
  D:\MSSQL$PROD\Data\为存放数据库文件的路径
  KMJXC_log2.ldf为一个新的不存在的文件,在执行以下语句时将自动建立

  dbcc rebuild_log('kmjxc','D:\MSSQL$PROD\Data\KMJXC_log2.ldf')

3.取消紧急模式(一条一条执行)
  update sysdatabases set status=0 where name='kmjxc'
  restore database kmjxc with recovery
  sp_configure 'allow',0
  reconfigure with override

4.重起sql server

5.ok


恢复数据库(数据库置疑处理)
  
      

条件:原库的 .mdf 文件是完好的即可。
请在SQL Server的查询分析器中按以下步骤执行
假设数据库名为:kmjxc (如果您的数据库名不是kmjxc,需要更改以下语句中相应的kmjxc为您的数据库名称)


0.先用KM db_setup.exe建立一个空库,然后将有数据的 .mdf文件复制过来
  覆盖现有的空库的.mdf文件。


1.把数据库设成紧急状态:

  然后在SQL查询分析器中,选到kmjxc数据库,输入以下语句执行(一条一条执行)

   sp_configure 'allow',1

   reconfigure with override

   update sysdatabases set status=32768 where name='kmjxc'



2.重建日志文件(请将路径换成你的数据文件路径)

  D:\MSSQL$PROD\Data\为存放数据库文件的路径

  KMJXC_log2.ldf为一个新的不存在的文件,在执行以下语句时将自动建立



  dbcc rebuild_log('kmjxc','D:\MSSQL$PROD\Data\KMJXC_log2.ldf')



3.取消紧急模式(一条一条执行)

  update sysdatabases set status=0 where name='kmjxc'

  restore database kmjxc with recovery

  sp_configure 'allow',0

  reconfigure with override



4.重起sql server



5.ok



在SQL Server中将数据库文件装载为数据库
  
      

在SQL Server中将数据库文件装载为数据库
    如果由于意外原因,系统可能不能再自举启动,原来的数据没来得及做备份,但保存数据部分的磁盘还是完好的,我们可以用以下方法将原有数据库的文件直接装载到新系统中。
1)      将数据文件装载到SQL Server中;
EXEC sp_attach_db @dbname = N'kmjxc',
@filename1 = N'd:\kmjxc_data.mdf',
@filename2 = N'd:\kmjxc_log.ldf'
              说明:
                     [@dbname =] 'dbname'
要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。
                     [@filename1 =] 'filename_n'
数据库文件的物理名称,包括路径。filename_n 的数据类型为nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。参数     名称以 @filename1 开始,递增到 @filename16。文件名列表至少必  须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表  还必须包括数据库分离后所有被移动的文件。

2)      更新数据库上的所有统计
              USE kmjxc
              EXEC sp_updatestats

TOP

这个东东应该发到交流里面去啊!!!

TOP

哪用这么麻烦,直接用数据库附加功能就Ok了

TOP

如果*.mdf数据库文件无损失,那就是损坏了日志文件*.ldf
用数据库附加就可以了。因为日志文件是可以删除的。你在
使用软件后它会自动创建

楼主的感觉是修复数据库的语句。比如数据库置疑

TOP

发新话题