还有谁遇到过SQL表损坏的情况

sodz 2008-06-04 04:09:17
select * from employee where emp_id like '003901' --能查询到数据

select * from employee where emp_id = '003901' --查询不到数据
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThreeCupOfTea 2008-06-07
  • 打赏
  • 举报
回复
emp_id 数据类型是 varchar() 吗?
bllackhu 2008-06-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sodz 的回复:]
dbcc checktable ('employee', REPAIR_REBUILD)

返回结果
服务器: 消息 7919,级别 16,状态 3,行 1
未处理修复语句。数据库需要处于单用户模式下。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

[/Quote]

1. alter database db_name set single_user with rollback immediate

2. dbcc checktable('employee', REPAIR_REBUILD) (repair_rebuild选项若不能修复,尝试repair_allow_data_loss选项吧,可能的数据丢失,不过修复的可能性还是很大)

3. alter database db_name set multi_user with rollback immediate


试试看,Good Luck
清海扬波 2008-06-04
  • 打赏
  • 举报
回复
应该是你数据本身的问题,模糊查询能查到,精确查询不行,看是不是有其他字符
sodz 2008-06-04
  • 打赏
  • 举报
回复
dbcc checktable ('employee', REPAIR_REBUILD)

返回结果
服务器: 消息 7919,级别 16,状态 3,行 1
未处理修复语句。数据库需要处于单用户模式下。

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
sodz 2008-06-04
  • 打赏
  • 举报
回复
dbcc checktable报告 发现了 0 个分配错误和 2 个一致性错误
有没有什么快捷的命令直接修复的?
我用的是备份数据,Drop表,Create表,再恢复数据的办法,感觉动作大了一点。
我想去掉主键,索引再创建应该也能修复这个损坏的表。
hlj321 2008-06-04
  • 打赏
  • 举报
回复
可能是索引坏了,重新建一下可能就好了
-狙击手- 2008-06-04
  • 打赏
  • 举报
回复
dbcc checktable

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧