今天sql2000(版本sp4)在企业管理器中,给数据库一个表“board”,加入一个字段“bangui”,设置类型为nvarchar,长度255,保存,一切正常。网站访问一直正常,没有问题但是在企业管理中,双击这个表board时,或者右键board表 查看属性,莫名其妙弹出错误对话框,信息如下:*************************
Buffer overrun detected! program:c:\windows\system32\mmc.exeA buffer overrun has been detected which has corrupted the program's internal state. The program cannot safely continue execution and must now be terminated **************************
现在企业管理器中,双击其他的表属性全部正常,都可以看属性,就是这一个表board不能查看属性,一看就会出现上面的提示,点确定之后,企业管理器自动关闭。自动关闭之后,可以重新打开企业管理器,只要不看那个表board的属性,一切正常,其他的表属性全部正常,网站现在访问也正常。我尝试了三个办法,都没有效果:1. 修改数据类型,把新增加的字段的类型和长度缩短缩小,无效
2. 使用查询分析器去掉那个新增加的字段,但是还是没用,现在错误依旧
3. 甚至,我把这个新数据库分离,附加我一个月以前备份的老数据库,发现还是一样的错误,board表属性不能查看,一看就关闭本来增加一个字段是为了写程序的,现在不敢写了,怕程序调用那个新加的字段引起网站崩溃,请问各位高手,现在这种状况是什么情况?可以使用程序调用那个表的新字段吗?有没有修复“表属性”错误的查询语句方法?是不是必须要重新安装系统或者重新安装sql数据库才能解决?

解决方案 »

  1.   

    可能是你这个表太大的原因吧。英文提示,缓冲区不足,无法继续操作。现在必需中止。你可以试一下在查询分析器里查看该表属性。sp_help @table@table就是你的那个表的名字。
      

  2.   

    你试试先把数据库备份一次,重新还原成一个新的数据库看看里面的board能不能打开。
      

  3.   


    尝试做了一下,原来的数据库名叫jkbbs,分离删除之后,选择旧数据库,附加的时候,数据库名改成hhbbs,还是不行
      

  4.   


    表的数据不会太大,这个board表主要是存储论坛的各个版块的名称和版块的说明,我看了下,目前数据非常的小,并且这个board表还没有其他的表与它关联加索引可以尝试,就是本人对sql查询不太懂,一直是在企业管理器中操作,麻烦您告知如何给一个表加索引?
      

  5.   

    重要补充!数据库已经被证实没有问题!我今天早上花大力气,把数据库从服务器上下载到我的本地电脑,附加之后,所有问题都没有,那个有问题的board表在本地查看非常正常,没有问题。看来只能是系统的问题,或者sql 2000的问题