MYBLOG

欢迎来到小马哥的个人博客~

[原创]Sql Server当前命令发生了严重错误

2020-03-08学海无涯

前一段时间遇到一个Sql Server 问题,在网上搜索无果,后来好不容易找到了解决方案,现在在这里记录一下。

1、首先声明:因为原有数据库架构设计本身就不合理,所有业务逻辑及数据都存放在A006A001这张表中,表中字段多达200个以上,并且没有完成的数据库字典资料,因此很多字段不知道是什么意思,并且毫无规范可言。

2、因为现在业务上需要增加或者改动一个字段,所有现对此表增加“NOWDATE”字段,但是在保存的时候如下提示:

“A006A001”表 - 无法修改表。 当前命令发生了严重错误。应放弃任何可能产生的结果

在网上查阅了众多资料之后仍然毫无头绪,后来在国外网站上看到了一个解决方案,但是不知道是否可行,因为所有业务无法暂停,所以只能在五一期间用户量少的时候进行测试修改。

3、具体命令如下:


ALTER DATABASE AMTEMAI
SET SINGLE_USER 
WITH ROLLBACK IMMEDIATE;
DBCC CHECKTABLE ("A006A001",REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE AMTEMAI
SET MULTI_USER;