科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道靠BCP恢复SQL Server 2000数据库二(1)

靠BCP恢复SQL Server 2000数据库二(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

缺省情况下,SQL Server不允许修改status值。直接作update,系统提示服务器: 消息 259,级别 16,状态 2,行 1未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL Server 以允许这种操作。

作者:网管员世界 来源:网管员世界 2007年9月18日

关键字: 恢复 SQL Server SQL Server 2000 数据库

  • 评论
  • 分享微博
  • 分享邮件
 

缺省情况下,SQL Server不允许修改status值。直接作update,系统提示服务器: 消息 259,级别 16,状态 2,行 1未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL Server 以允许这种操作。

所以先执行SQL脚本,让SQL Server允许我们修改status值:

sp_configure 'allow updates', 1

RECONFIGURE WITH OVERRIDE

修改status到32768(紧急模式),执行SQL脚本:

update SysDatabases

set status=32768

where name='zytk'

在查询分析器中执行SQL脚本,检查数据库完整性。

dbcc checkdb ('ZYTK') with ALL_ERRORMSGS

执行结果有很多错误(具体执行结果见03CheckDB-ZYTK结果.txt),跟笔者估计一致,数据库的索引出了大问题。下面摘录其中一个错误:

对象 'cw_Check_Detail' 有 0 行,这些行位于 0 页中。

服务器: 消息 8936,级别 16,状态 1,行 1

表错误: 对象 ID 181575685,索引 ID 1。B 树链的链接不匹配。(1:4987)->next = (1:2601),但 (1:2601)->Prev = (1:4947)。

在查询分析器中执行SQL脚本,将数据库ZYTK的status修改为16:

update SysDatabases

set status=16

where name='zytk'

刷新数据库,ZYTK(紧急模式)转变为ZYTK。注意此时不能重新启动SQL Server服务!否则数据库ZYTK的状态还会变成置疑。这时,数据库处理算是成功一半!这个假正常模式(我的叫法)还是不能做数据库备份的。否则会提示如图5的错误。

靠BCP恢复SQL Server 2000数据库二(1)

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章