sql查询出问题?
数据库是sql2000,有张表数据60多个字段,数据有250万条左右,这几天已通过sql查询分析器来查询就出问题了。查数据少点好像是可以的。
报错是:
服务器: 消息 7987,级别 22,状态 3,行 1
在数据库 'A-bus' 中检测到一个可能的数据库一致性问题。应该对数据库 'A-bus' 运行 DBCC CHECKDB 和 DBCC CHECKCATALOG。
连接中断
我看到网上的方法做
alter database [A-bus] set single_user
dbcc checkdb('A-bus',repair_rebuild)
alter database [A-bus] set multi_user
但运行了30多分钟了还没有反应。
还有我把A-bus这个数据库里的一张表数据导出到时大概导到240万条时就不动了,一直是这个界面。那可怎么办啊?我把那张表里的某个字段的数据类型从nvarchar 32 改成varchar 10也不行,有提示:
- 无法修改表。
ODBC 错误: [Microsoft][ODBC SQL Server Driver][SQL Server]SqlDumpExceptionHandler: 进程 51 发生了严重的异常 c0000005 EXCEPTION_ACCESS_VIOLATION。SQL Server 将终止该进程。
[Microsoft][ODBC SQL Server Driver][SQL Server]
[Microsoft][ODBC SQL Server Driver][SQL Server]Location: logrec.cpp:501
Expression: FALSE
SPID: 51
Process ID: 2812
Description: Invalid switch value
------解决方案--------------------先看看
dbcc checkdb('A-bus') WITH PHYSICAL_ONLY
------解决方案--------------------改成这样试试:
alter database [A-bus] set single_user with rollback immediate
dbcc checkdb('A-bus',repair_rebuild)
alter database [A-bus] set multi_user
------解决方案--------------------上面的代码,可能只能在2005及以上的版本运行,你再试试这个呢:
alter database [A-bus] set single_user
dbcc checkdb('A-bus',repair_rebuild) with tablock
alter database [A-bus] set multi_user
------解决方案--------------------导出来一个新库是比较好的选择
------解决方案--------------------