Sql Server 读取数据 报m_SizeRec > 0 && m_SizeRec <=MAXDATAROW异常 解决办法

m_SizeRec > 0 && m_SizeRec <=MAXDATAROW 异常

起因

很久之前的C/S的客户安装的软件,突然不能启动,并报异常,如下图:
在这里插入图片描述

解决方案

先用DBCC命令检查数据库的报错信息,再REPAIR_ALLOW_DATA_LOSS 报错的对应表名。
sql 语句如下:

	USE MASTER
	GO
	sp_dboption '数据库名', 'single user', 'true'  // 启用单人模式
	Go
	DBCC CHECKDB('数据库名', REPAIR_ALLOW_DATA_LOSS) // 检查异常 打印log
	Go
	USE 数据库名
	go
	exec sp_msforeachtable 'DBCC CHECKTABLE("表名",REPAIR_ALLOW_DATA_LOSS)'  // 修复表
	exec sp_msforeachtable 'DBCC DBREINDEX("表名")' 
	go
	sp_dboption '数据库名', 'single user', 'false'  // 关闭单人模式
	Go 
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页