消息21,级别21,状态1,过程**第213行.警告:在08282012 10:29AM出现错误605

popule_daisy 2012-08-28 10:59:03
在执行某存储过程时,出现如下图错误。


此错误在数据库从05升级至08后出现。

1.使用DBCC CHECKDB检查数据库,出现如下提示:
【数据库名】的 DBCC 结果。
Service Broker 消息 9675,状态 1: 已分析的消息类型: 14。
Service Broker 消息 9676,状态 1: 已分析的服务约定: 6。
Service Broker 消息 9667,状态 1: 已分析的服务: 3。
Service Broker 消息 9668,状态 1: 已分析的服务队列: 3。
Service Broker 消息 9669,状态 1: 已分析的会话端点: 0。
Service Broker 消息 9674,状态 1: 已分析的会话组: 0。
Service Broker 消息 9670,状态 1: 已分析的远程服务绑定: 0。
Service Broker 消息 9605,状态 1: 已分析的会话优先级: 0。
【表名】的 DBCC 结果。
对象 '【表名】' 的 1 页中有 7 行。
CHECKDB 在数据库 '【数据库名】' 中发现 0 个分配错误和 0 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

2.不直接执行(exec)存储过程,而是作为语句块执行,并无错误提示

3.错误提示中的213行,在if语句块中,并不一定执行。false时,同样错误提示。

4.错误并不是100%出现,但是目前【同样的参数】测试,达到80%
...全文
298 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
popule_daisy 2012-08-28
  • 打赏
  • 举报
回复
初步确定是索引的问题,后续观察看结果。

有一表的碎片总计达到了90%,太吓人了。重新组织索引后,表象解决问题。

谢谢邹建建议。
whb147 2012-08-28
  • 打赏
  • 举报
回复
那你把临时表换成物理表呢?,表名用随机的
用完就删除,你再看看
popule_daisy 2012-08-28
  • 打赏
  • 举报
回复
DBCC CHECKALLOC;

在此数据库中,总区数 = 73226,已用页数 = 581627,保留页数 = 585622。
此数据库中(混合区数 = 184,混合页数 = 1286)。
CHECKALLOC 在数据库 '【数据库名】' 中发现 0 个分配错误和 0 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

我在看看这个存储过程中用到的索引
zjcxc 2012-08-28
  • 打赏
  • 举报
回复
DBCC CHECKALLOC 呢?
另外, rebuild 所有表的所有 index
  • 打赏
  • 举报
回复
邹老大回复,难得一见! 支持下
popule_daisy 2012-08-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

直接用原来的存储过程语句, 重新建一个新的存储过程, 试试新的存储过程的情况
如果没有问题, 那么应该是原来的存储过程的缓存计划有问题
[/Quote]

新建一个也不行。除了新建一干净的数据库,还有其他办法吗?

对了,出问题的地方是在操作临时表
zjcxc 2012-08-28
  • 打赏
  • 举报
回复
直接用原来的存储过程语句, 重新建一个新的存储过程, 试试新的存储过程的情况
如果没有问题, 那么应该是原来的存储过程的缓存计划有问题
popule_daisy 2012-08-28
  • 打赏
  • 举报
回复
使用http://msdn.microsoft.com/zh-cn/library/aa337419.aspx此页面的查询语句,第一步没有输出结果,因为操作的是临时表?
popule_daisy 2012-08-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

DBCC CHECKALLOC 呢?
另外, rebuild 所有表的所有 index
[/Quote]

 rebuild 所有表的所有 index 后,问题依旧出现

22,294

社区成员

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

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