运行SQL Server服务管理器
然后点击停止,然后重新点击开始

解决方案 »

  1.   

    use master
    ALTER DATABASE test set offline
      

  2.   

    exec sp_who
    然后杀掉所有连接进程,
    当然最后要自杀!
      

  3.   

    use master
    ALTER DATABASE test set online 
    restore ....脱机数据库 即可!
    重起服务影响其他数据库!
      

  4.   

    exec master..xp_cmdshell 'net stop mssqlserver /y'
    虽有错误,但可以实现
      

  5.   

    SHUTDOWN
    立即停止 Microsoft® SQL Server™。语法
    SHUTDOWN [ WITH NOWAIT ]参数
    WITH NOWAIT立即关闭 SQL Server 而不在每个数据库内执行检查点。在尝试终止所有用户进程后退出 SQL Server,并对每个活动事务执行回滚操作。注释
    除非 sysadmin 固定服务器角色成员指定 WITH NOWAIT 选项,否则 SHUTDOWN 尝试关闭 SQL Server 时的顺序方式为: 禁用登录(sysadmin 固定服务器角色成员除外)。若要查看所有当前用户的列表,请执行 sp_who。
    等待当前正在执行的 Transact-SQL 语句或存储过程执行完毕。若要查看所有活动进程和锁的列表,请执行 sp_lock 和 sp_who。
    在每个数据库内执行检查点。 
    当 sysadmin 固定服务器角色成员重新启动 SQL Server 时,使用 SHUTDOWN 语句可以将需要做的自动恢复工作减到最小。还可以使用下面这些工具和方法停止 SQL Server。每个工具或方法都在所有数据库内执行检查点。从数据高速缓存中刷新所有提交的数据后,通过下列工具和方法停止服务器: 使用 SQL Server 企业管理器。
    在命令提示符下使用 net stop mssqlserver。
    使用"控制面板"中的"服务"应用程序。
    使用 SQL Server 服务管理器。 
    如果是从命令提示符下启动的 sqlservr.exe,按 CTRL+C 键可关闭 SQL Server。然而,按 CTRL+C 键将不执行检查点。说明  通过 Server 企业管理器、net stop、控制面板和 SQL Server 服务管理器停止 SQL Server 的方法所生成的服务控制消息与使用 SERVICE_CONTROL_STOP 停止 SQL Server 所生成的相同。
    权限
    SHUTDOWN 权限默认授予 sysadmin 和 serveradmin 固定服务器角色的成员且不可转让。
      

  6.   

    --没必要停掉整个 sql server
    use master
    --ALTER DATABASE test set online 
    declare @ varchar(200)
    set @ = ''
    select @ = @ +' kill '+ cast(spid as varchar) 
    from master..sysprocesses 
    where dbid=db_id('Test')
    exec(@)
    ALTER DATABASE test set offline
      

  7.   

    SHUTDOWNexec master..xp_cmdshell 'net stop mssqlserver /y'
      

  8.   

    控制面板-》管理工具-》服务-》先停止SQL SERVER服务,再重启SQL SERVER服务
      

  9.   

    同意 playyuer(双规干部).
     Sorder(剑客)的方案也可以不过,数据库服务器停止的话影响其他数据库
      

  10.   


    use  master 
    go
    create  proc  killspid  (@dbname  varchar(20))  
    as  
    begin  
    declare  @sql  nvarchar(500),@temp varchar(1000)
    declare  @spid  int  
    set  @sql='declare  getspid  cursor  for    
    select  spid  from  sysprocesses  where  dbid=db_id('''+@dbname+''')'  
    exec  (@sql)  
    open  getspid  
    fetch  next  from  getspid  into  @spid  
    while  @@fetch_status  <  >-1  
    begin  
      set @temp='kill  '+rtrim(@spid)
      exec(@temp)
    fetch  next  from  getspid  into  @spid  
    end  
    close  getspid  
    deallocate  getspid  
    end  --用法  
    use  master  
    exec  killspid  '数据库名'
      

  11.   

    the best way:
    alter database db_name set single_user
    go
    restore you database
    go
    alter database db_name set multi_user
    go
      

  12.   

    我是这样地:
    create PROCEDURE dbo.sp_dropconn
    @db_name varchar(255)
    AS
    /*
    */
    declare @spid int
    , @execsour varchar(8000)
     ---------------------------------------------------------------------------------------
      create table #tmp_login 
      (spid int,ecid int,status varchar(255),loginname varchar(255),hostname varchar(255),blk varchar(255),dbname varchar(255),cmd varchar(255))
      insert into #tmp_login exec master..sp_who
      declare tmp_l cursor for select spid from #tmp_login where dbname=@db_name   
      open tmp_l 
      fetch next from tmp_l into @spid
      while @@fetch_status=0
        begin
        set @execsour=convert(varchar(300),@spid)
        set @execsour='kill '+@execsour
        exec (@execsour )             fetch next from tmp_l into @spid 
        end
      close tmp_l
      deallocate tmp_l