exec master..xp_cmdshell 'net pause mssqlserver'declare @n int
declare @sql varchar(100)while 1=1
begin
set @n = 0select top 1 @n = spid 
from  master..sysprocesses  
where spid > 50 and spid <> @@spid and spid > @n
order by spidif @n = 0
  breakset @sql = 'kill '+cast(@n as varchar(10))
exec(@sql)
end--你的修改语句exec master..xp_cmdshell 'net continue mssqlserver'

解决方案 »

  1.   

    简化
    ---------------------------------------------------------------
    exec master..xp_cmdshell 'net pause mssqlserver'
    ---------------------------------------------------------------
    declare @sql varchar(100)while 1=1
    beginselect top 1 @sql = 'kill '+cast(spid as varchar(3))
    from  master..sysprocesses  
    where spid > 50 and spid <> @@spid if @@rowcount = 0
      breakexec(@sql)
    end
    -----------------------------------------------------------------你的修改语句---------------------------------------------------------------
    exec master..xp_cmdshell 'net continue mssqlserver'
    ---------------------------------------------------------------
      

  2.   

    呵呵,不好意思,master..xp_cmdshell 和master..sysprocesses  中的“..”是什么意思,
      

  3.   

    xp_cmdshell是一个扩展存储过程,这个存储过程是属于master数据库的。调用的时候,如果当前数据库不是master,就要用master..xp_cmdshell的格式来调用此存储过程。
      

  4.   

    把数据库设置成单用户模式的语句
    sp_dboption '<db_name>', 'single user', 'true'
      

  5.   

    1825() 据我所知,spid小于50的是系统进程,杀不得。但没有权威资料可以论证。
      

  6.   

    请教一个问题:仅仅6000条数据,做一个UPDATE时出现如下问题:
    [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionCheckForData (CheckforData()).
    服务器: 消息 11,级别 16,状态 1,行 0
    一般性网络错误。请检查网络文档。
    连接中断请问各位大侠,有什么办法解决这个问题,在线急等...