关于sql错误 3624的问题

酸枣 2010-06-07 10:01:41
单独查询
select * from a
select * from b
没有任何问题,但是如果是关联查询,如下语句
select a.票号,b.项目 AS 部门单位
FROM a,b
WHERE b.代码=a.部门单位
就会出现以下错误提示:
服务器: 消息 3624,级别 20,状态 1,行 1

Location: q:\SPHINX\NTDBMS\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 60
Process ID: 356

连接中断
...全文
932 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
酸枣 2010-06-07
  • 打赏
  • 举报
回复
2搂说的,先停止用户,怎样停止呢
我运行了2搂的命令,提示如下:
服务器: 消息 5070,级别 16,状态 2,行 1如果其他用户正使用数据库 'DWJZZF',则数据库状态不能更改
服务器: 消息 5069,级别 16,状态 1,行 1
ALTER DATABASE 语句失败。
sp_dboption 命令失败。
服务器: 消息 7919,级别 16,状态 2,行 3未处理修复语句。数据库需要处于单用户模式下。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
酸枣 2010-06-07
  • 打赏
  • 举报
回复
大家能不能说的详细一点啊,刚开始学,希望大家能够详细点啊,处理好了,我在加100分啊!
宇峰科技 2010-06-07
  • 打赏
  • 举报
回复
顶楼上
hdh9988 2010-06-07
  • 打赏
  • 举报
回复
是不是where条件的数据类型不一样啊?
东那个升 2010-06-07
  • 打赏
  • 举报
回复
重建一下索引吧?
zhangweiit 2010-06-07
  • 打赏
  • 举报
回复
语句看来是没问题的
数据修复一下试试
-狙击手- 2010-06-07
  • 打赏
  • 举报
回复
dbcc checkdb 看看
xuam 2010-06-07
  • 打赏
  • 举报
回复
先停止一切用户使用,设到单用户模式,最好修复整个库,语句如下:
USE master
EXEC sp_dboption 'test', 'single user', 'true'
DBCC CHECKDB ('test', REPAIR_ALLOW_DATA_LOSS )
EXEC sp_dboption 'test', 'single user', 'false'

test为你的数据库名!
xuam 2010-06-07
  • 打赏
  • 举报
回复
数据库错误,需要DBCC修复一下看看!
xuam 2010-06-07
  • 打赏
  • 举报
回复
这种情况说明有人在用数据库啊,先退出使用才行!
把SQL服务停止,再启动,再运行命令看看!

[Quote=引用 9 楼 woo23778206 的回复:]
2搂说的,先停止用户,怎样停止呢
我运行了2搂的命令,提示如下:
服务器: 消息 5070,级别 16,状态 2,行 1如果其他用户正使用数据库 'DWJZZF',则数据库状态不能更改
服务器: 消息 5069,级别 16,状态 1,行 1
ALTER DATABASE 语句失败。
sp_dboption 命令失败。
服务器: 消息 7919,级别 16,状态 2,行 3未处理修复语句……
[/Quote]
我没有吃饭 2010-06-07
  • 打赏
  • 举报
回复
连接中断的出错有很多,轻微的(简单修复)重建日志文件就可以了,但是有一次遇到一个错误3264,ID636的,我也没有解决。
你先尝试下面这种方法

--注:test是当明数据库名称,根据你实际数据库名称及数据文件名进行具体替换
1. 将已破坏的老数据库更名如Test_Data.Mdf ==>Test_Data.Md_ ,并在原来位置新建一同名数据库 如Test_Data.Mdf .
2. 停止SQL, 将新数据库更名(Test_Data.Mdf ==> Test_Data.Md2),
待修复老数据库更名为原先名称Test_Data.Md_ ==> Test_Data.Mdf
3. 启动SQL , 并进入查询分析器中, 执行如下命令:
USE MASTER
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = 'Test'
4. 把LDF文件改名,再执行
DBCC REBUILD_LOG ('Test', 'E:\test\Test_Log.LDF' )
5. 恢复数据库紧急模式
update sysdatabases set status = 0 where name = 'Test'
6. 执行
restore database Test WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override
7. 检查数据库看看有没有错误, 应该可以看到数据了
DBCC CHECKDB ('Test')


如果以上情况解决不了,网上流传的那些修复数据库的方法应该就没有什么用了,只有找专业修复数据库的人,或者对这方面了解得比较多的人去处理了。

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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