首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

救急数据库错误异常

2012-01-29 
救急...数据库异常错误操作系统:window2003server集群服务SQLserver2000安装在仲裁磁盘Z。数据库有几百万的

救急...数据库异常错误
操作系统:window2003   server   集群服务  
                    SQL   server   2000     安装在仲裁磁盘Z。
数据库有几百万的信息,平时操作的数据量一般,某几天会有比较大量的操作。
在7月1号机房因空调原因停机重启以后,在第二天的早上操作运行时开始数据库出现错误,以下是部分日志信息:

服务器:   消息   8951,级别   16,状态   1,行   1
表错误:   表   'T_YK_RZ '(ID   927394423)。索引   'IX_T_YK_RZ '(ID   7)中下列行的键缺少或无效:
服务器:   消息   8955,级别   16,状态   1,行   1
数据行(1:41000:7)(由   RID   =   (1:41000:7)     标识)的索引值为   czrq   =   07     3   2007     8:43AM   and   sbh   =   '07070061 '。
服务器:   消息   8951,级别   16,状态   1,行   1
表错误:   表   'T_YK_RZ '(ID   927394423)。索引   'IX_T_YK_RZ '(ID   7)中下列行的键缺少或无效:
服务器:   消息   8955,级别   16,状态   1,行   1
数据行(1:41000:8)(由   RID   =   (1:41000:8)     标识)的索引值为   czrq   =   07     3   2007     8:44AM   and   sbh   =   '07070061 '。
服务器:   消息   8951,级别   16,状态   1,行   1
表错误:   表   'T_YK_RZ '(ID   927394423)。索引   'IX_T_YK_RZ '(ID   7)中下列行的键缺少或无效:
服务器:   消息   8955,级别   16,状态   1,行   1
数据行(1:41000:9)(由   RID   =   (1:41000:9)     标识)的索引值为   czrq   =   07     3   2007     8:46AM   and   sbh   =   '07050452 '。
服务器:   消息   8952,级别   16,状态   1,行   1
表错误:   数据库   'wzmis ',索引   'cb_sfb.Ix_cb_sfb_xzrq_dyfp '(ID   1173579219)(索引   ID   4)。下列键的键多余或无效:
服务器:   消息   8956,级别   16,状态   1,行   1
索引行(1:103664:132)(其值为   xzrq   =   07     3   2007   12:00AM   and   dyfp   =   9.365638989E-097)指向由   RID   =   (1:572292:44)   标识的数据行。
服务器:   消息   8952,级别   16,状态   1,行   1
表错误:   数据库   'wzmis ',索引   'cb_sfb.Ix_cb_sfb_xzrq_dyfp '(ID   1173579219)(索引   ID   4)。下列键的键多余或无效:
服务器:   消息   8956,级别   16,状态   1,行   1
索引行(1:103664:136)(其值为   xzrq   =   07     3   2007   12:00AM   and   dyfp   =   1.234180251E-178)指向由   RID   =   (1:572294:27)   标识的数据行。
服务器:   消息   8952,级别   16,状态   1,行   1
表错误:   数据库   'wzmis ',索引   'cb_sfb.Ix_cb_sfb_xzrq_dyfp '(ID   1173579219)(索引   ID   4)。下列键的键多余或无效:
服务器:   消息   8956,级别   16,状态   1,行   1
索引行(1:134926:112)(其值为   xzrq   =   07     3   2007   12:00AM   and   dyfp   =   4.022511316E-087)指向由   RID   =   (1:572573:46)   标识的数据行。
服务器:   消息   8952,级别   16,状态   1,行   1
表错误:   数据库   'wzmis ',索引   'cb_sfb.Ix_cb_sfb_hh_dyfp '(ID   1173579219)(索引   ID   45)。下列键的键多余或无效:
服务器:   消息   8956,级别   16,状态   1,行   1
索引行(1:378781:244)(其值为   sbh   =   '05075924 '   and   dyfp   =   4.022511316E-087)指向由   RID   =   (1:572573:46)   标识的数据行。
'wzmis '   的   DBCC   结果。
'sysobjects '   的   DBCC   结果。

然后用dbcc   checkdb陆续出现各种一致性错误,8951,8952,8955,8956,8978,605,3624     等等。
在日常使用中,经常会发生数据操作正常后又重新回滚的情况,在查询中出现错误,数据丢失的现象,除了有时查询出错会提示,数据回滚和丢失都不会出现任何提示。


也尝试过重建和修复索引,单用户下的REPAIR   子句修复重建,索引和文件碎片的检查,但是在修复后又会重新出现新的错误。因为服务器跟数据库牵扯到相关的很多业务,所以至今还没采取换服务器和分离数据库以及还原数据库备份的操作。

希望有相关处理经验的朋友不吝赐教!!   万分感谢

[解决办法]
先把几个索引删除,再建立

当前库的T_YK_RZ表的IX_T_YK_RZ
wzmis库的cb_sfb表的Ix_cb_sfb_xzrq_dyfp


[解决办法]
然后用带REPAIR_ALLOW_DATA_LOSS参数的dbcc checkdb命令看能否修复

热点排行
Bad Request.