我的联系方式
微信luoluo888673
QQ951285291
邮箱951285291@qq.com
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;