设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
sqlserver2008中,dbcc checkdb数据库提示多个一致性错 ...
返回列表
发新帖
sqlserver2008中,dbcc checkdb数据库提示多个一致性错误怎么处理
[复制链接]
11
|
5
|
2021-1-27 05:49:05
|
显示全部楼层
|
阅读模式
sqlserver2008中,dbcccheckdb数据库提示多个一致性错误,如下图:
检查是数据表[UFTmpTable_33565914_5231678149313212099]出现了问题,不知道是怎么生成的,其实这个表是无用的表,试图删除它提示表不存在或无权限;
检查表sys.objects、sys.indexes,发现sys.objects中有数据,但sys.indexes中无数据,所以出现一致性错误。
试图从sysobjects中删除记录,提示”不允许对系统目录进行即席更新。”
网上搜了下,大概都是说sql2000以上版本都不支持修改系统表,实在不知道怎么处理了,请大神们帮忙看看!
分 -->
回复
使用道具
举报
千问
|
2021-1-27 05:49:05
|
显示全部楼层
这看起来不是一个表,而一个统计信息,可以考虑把这个表上索引和统计信息全删除,然后重建索引。
注意备份
回复
使用道具
举报
千问
|
2021-1-27 05:49:05
|
显示全部楼层
确实是一个表,我在资源管理器中可以查到这个表:
我试着查了这表的统计信息,查不到,索引、字段都查不到,只有在sysobjects表中有一条记录:
我就想把这条记录删除,应该就不会出现一致性错误了吧
回复
使用道具
举报
千问
|
2021-1-27 05:49:05
|
显示全部楼层
alterdatabaseDbNamesetsingle_userwithrollbackimmediate
go
dbcccheckdb(DbName,repair_allow_data_loss)
go
alterdatabaseDbNamesetmulti_user
go
--------------------------------------------------
Sql2000以上也可以修改系统表,只是要用DAC登入
还是建议用dbcc去修就好
回复
使用道具
举报
千问
|
2021-1-27 05:49:05
|
显示全部楼层
dbcccheckdb(DbName,repair_allow_data_loss)
就是这样修复的,不行,报错,上面就是修复时报的错误
回复
使用道具
举报
千问
|
2021-1-27 05:49:05
|
显示全部楼层
如果尝试自动修复不了,
建议新建个空数据库,把有用数据导入新数据库,然后2个数据库名字互换.
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行