华夏美食日结或是其他操作遇到:“试图从数据库'kcanyinv7'中提取的逻辑页(1:22832)属于”等错误时的解决办法
在华夏美食系统:进行日结或是其他操作遇到这种错误信息时:“试图从数据库'kcanyinv7'中提取的逻辑页(1:22832)属于对象‘cybr_u_day_sumup_material’,而非‘cybr_u_rpt_dish_total’。”等错误时的解决办法:
1、怀疑kcanyinv7数据中表数据结构有问题,打开kcanyinv7查看表数据正常,将该表中数据导出备份后重建cybr_u_day_sumup_material和cybr_u_rpt_dish_total表后将之前备份的数据导入,软件使用正常;但过一会软件再次弹出提示
2、检查数据库并尝试修复:
(1) 先断开数据库连接,运行查询分析器,将数据库kcanyinv7设置为单用户模式
exec sp_dboption 'kcanyinv7','single user',‘true’
(2) 检查数据库
dbcc checkdb('kcanyinv7')
执行结果为“CHECKDB 发现了 0 个分配错误和 4个一致性错误(在数据库 'kcanyinv7' 中)。”
(3) 将数据库备份后尝试执行以下级别的修复:
dbcc checkdb('kcanyinv7',REPAIR_FAST)
dbcc checkdb('kcanyinv7',REPAIR_REBUILD)
dbcc checkdb('kcanyinv7',REPAIR_ALLOW_DATA_LOSS)
(4) 修复完成后,将数据库改回多用户模式:
exec sp_dboption 'kcanyinv7','single user',‘false’
3、再执行第一步操作,重建pfkptemp表和cybr_u_day_sumup_material表,软件使用正常。
问题得到完美解决!!
SQL清单:
exec sp_dboption 'kcanyinv7','single user','true'
dbcc checkdb('kcanyinv7')
dbcc checkdb('kcanyinv7',REPAIR_FAST)
dbcc checkdb('kcanyinv7',REPAIR_REBUILD)
dbcc checkdb('kcanyinv7',REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb('kcanyinv7')
exec sp_dboption 'kcanyinv7','single user','FALSE'
相关阅读:
-
无相关信息