杀进程的话可以杀掉client端的,但可以让server端的进程也停掉吗?

解决方案 »

  1.   

    1.sky_blue(老衲) 应该是指你每次将数据换算成秒吧
    2.杀进程,用什么呢?sp_who + kill [进程号],是不是太危险了?从sysprocesses抓出进程号?sky_blue(老衲),是否有过成功的经验,说来听听。
      

  2.   

    varchar(10)吧!----超过了3秒将会自动强制停止.SET LOCK_TIMEOUT 3000
      

  3.   

    杀进程我没有这么做过,呵呵,你可以按照大力那么试试。
    时间长度我认为用int很好。比如说求和现在间隔多久是什么时间用int
    的话dateadd(s,数值,getdate())就算出来了。换算成小时,天都不是什么难事。
      

  4.   

    谢谢大家!问题二:我写的这个SP是个需要运行时间较长的SP,3分钟到10几分钟吧,想给用于提供一个取消按钮,仅此而已,就像sql的查询分析器中的Stop按钮那样。问题一:在SP的运行过程中,我想显示SP的运行时间,也象sql的查询分析器状态栏中的那个时间显示那样,所以不知道能不能取到那个运行时间,从而在VB街面上显示给用户。现在的做法是用VB实现的。
      

  5.   

    SET SHOWPLAN_ALL
    使 Microsoft® SQL Server™ 不执行 Transact-SQL 语句。相反,SQL Server 返回有关语句执行方式和语句预计所需资源的详细信息。语法
    SET SHOWPLAN_ALL { ON | OFF }注释
    SET SHOWPLAN_ALL 的设置是在执行或运行时设置,而不是在分析时设置。当 SET SHOWPLAN_ALL 为 ON 时,SQL Server 返回每个语句的执行信息但不执行语句,而且 Transact-SQL 语句将不执行。将该选项设置为 ON 后,将返回有关所有后续 Transact-SQL 语句的信息,直到将该选项设置为 OFF 为止。例如,如果在 SET SHOWPLAN_ALL 为 ON 时执行 CREATE TABLE 语句,则 SQL Server 从涉及同一个表的后续 SELECT 语句返回错误信息;指定的表不存在。因此,对该表的后续引用将失败。当 SET SHOWPLAN_ALL 为 OFF 时,SQL Server 执行语句但不生成报表。SET SHOWPLAN_ALL 是供为处理其输出而编写的应用程序使用的。使用 SET SHOWPLAN_TEXT 返回可由 Microsoft MS-DOS® 应用程序(如 osql 实用工具)读取的输出。 在存储过程内不能指定 SET SHOWPLAN_TEXT 和 SET SHOWPLAN_ALL,它们必须是批处理中的语句。SET SHOWPLAN_ALL 将信息作为行集返回,行集形成一个层次结构树,用以表示 SQL Server 查询处理器在执行每个语句时所采取的步骤。输出中反映的每个语句都包含一个含有语句文本的行,后面跟有几个含有执行步骤详细信息的行。下表显示输出中包含的列。
      

  6.   

    下面的示例显示了到当前日期和时间为止 SQL Server CPU 的活动。SELECT @@CPU_BUSY AS 'CPU ms', GETDATE() AS 'As of'下面是结果集:CPU ms               As of
    -----------------    ---------------------------
    20                   1998-04-18  14:43:08.180 
      

  7.   

    我想应该用异步执行调用sp,如后用一个循环去读取执行状态,在循环的中间可以关闭连接来停止sp
      

  8.   

    应该是用cn.Execute sp,,adAsyncExecute,然后用cn.State来判断执行状态,如果是adStateExecuting表示在执行,如果中途要取消用cn.Cancel,你试试
      

  9.   

    问题基本得到了解决,就是在取消的时候(.cancel),需要很长的时间,好像和运行sp的时间差不多,这是正常的吗?
      

  10.   

    正常,这证明你的SQL Server太忙了,反应比较慢,有时候我会用cn.close或者set cn=nothing来强制关闭,这样好像不太合道理,但如果sp写得好,适当用一些事务,还没有遇到什么麻烦。:-)
      

  11.   

    可是我的SQL并不忙的,因为我用的是一台测试机器,除了我没有人用的。
      

  12.   

    cn.cancel时系统需要rollback,如果你的sp写得不是很好,例如用一条update去update 100万的纪录,那cancel时rollback时会需要很长时间,如果分为几条语句,每次update几千条,那cancel时会快一些