1、重启数据库后发现部分库(用户库)启动失败,offline
2、sa进入master库,修改异常库的status为-32768,然后关闭;

点击(此处)折叠或打开

  1. use master
    go
    sp_configure 'allow update',1
    go
    update sysdatabases set status=-32768 where name='$db_name1'
    go
    checkpoint
    go
    shutdown
    go
3、修改interfaces配置文件,改变端口
4、启动数据库之后,备份DDL

点击(此处)折叠或打开

  startserver -f RUN_xxx
 ddlgen -Usa -Pxxx -Sxxx –D$db_name -o$dbname.ddl

5、强行删除数据库日志

点击(此处)折叠或打开

  dump tran $db_name1 with no_log

  go

      
    改回正常状态

点击(此处)折叠或打开

  1. update sysdatabases set status = 0 where name = ‘$db_name1’ 
  2. go
  3. sp_configure 'allow update',0
    go
  4. checkpoint
  5. go
  6. shutdown
  7. go

6、修改interfaces配置文件,启动数据库,检查恢复库

(未完待续)

7、恢复后的数据库在使用时部分表操作报错

点击(此处)折叠或打开

  1. dbcc traceon(3604)
  2. go
  3. dbcc checktable('$tab_name')
  4. go
  5. ERROR:692
  6. drop table $tab_name
  7. go
  8. ERROR:3701

 (未完待续)
 

09-01 03:28