扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:网管员世界 来源:网管员世界 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的错误。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者