执行一个动态存储过程,同时在企业管理器中->管理->当前活动->(这里则弹出了题目所述的错误!)  
 
不知道和解?  
 
存储过程中是若干语句的集合,我一个个执行为未改成动态的存储过程中的语句能执行完毕.
但是,改成动态的存储过程,带了参数(一个String的年月参数),则无法执行下去了!  
 
是在某个update语句出的错误!  
 
形式如下:  
update  a  set  a.count=b.count  
from  test1  a,test2  b  
where  a.id=b.id  
 
万分奇怪!

解决方案 »

  1.   

    INF: 在 SEM 中刷新当前活动可能导致“错误 1222: 已超过了锁请求超时时段”错误信息
    http://support.microsoft.com/kb/308518/zh-cn
      

  2.   

    再刷新一次通常会成功。 但是,如果保持这两个锁的时间太长,则也会显示该错误信息。 如果执行 sp_lock 存储过程,则可计算出哪个进程正在对 dbid 2 (tempdb) 的对象 ID 1、2 和 3 保持锁定。我刷新了几次都是这样的!没办法了...估计还有别的吧...
    谢谢 vivianfdlpw() 给出一个方案
      

  3.   

    概要
    当您尝试在 SQL 企业管理器中展开或刷新当前活动时,可能收到以下错误信息: 
    错误 1222: 已超过了锁请求超时时段 
      

  4.   

    刷新当前活动将调用 sp_MSset_current_activity 存储过程。 在定义该存储过程时,首先将 lock_timeout 变量设置为 5000 毫秒 (ms)。 然后,会创建两个全局临时表,它们针对下面的系统表在表级别发出 IX 锁,在键级别发出 X 锁: • tempdb..sysobjects  
    • tempdb..sysindexes  
    • tempdb..syscolumns  
    如果在 5000 毫秒 (ms) 内未将前面的锁授予该进程,则查询将停止,并出现“症状”一节中显示的错误信息。 再刷新一次通常会成功。 但是,如果保持这两个锁的时间太长,则也会显示该错误信息。 如果执行 sp_lock 存储过程,则可计算出哪个进程正在对 dbid 2 (tempdb) 的对象 ID 1、2 和 3 保持锁定。