zoukankan      html  css  js  c++  java
  • SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理

    今天在删除一个数据库时,一直报错,大意是:此数据库处理单用户模式,尚在连接当中,无法删除(既使将SQLServer停止后再启动也是如此)

    百度之后找到了解决办法,备份于此:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    USE [master]
    GO
     
    /****** Object:  StoredProcedure [dbo].[killspid]    Script Date: 03/28/2011 11:01:32 ******/
    SET ANSI_NULLS ON
    GO
     
    SET QUOTED_IDENTIFIER ON
    GO
     
      --建一个存储过程,断开所有用户连接。  
      create   proc   [dbo].[killspid]   (@dbname   varchar(20))  
      as  
      begin  
      declare   @sql   nvarchar(500)  
      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  
      exec('kill   '+@spid)  
      fetch   next   from   getspid   into   @spid  
      end  
      close   getspid  
      deallocate   getspid  
      end  
         
     
    GO

    先在master中创建一个存储过程,用于干掉所有连接,然后调用

    use   master  
    exec   killspid   '出问题的数据库名'

    再删除就ok了

  • 相关阅读:
    es index template
    什么是元类
    Normal Data Structure Tricks
    Python 学习笔记
    点分治
    人类智慧贪心
    「JOI 2021 Final」地牢 3
    【美团杯2020】魔塔
    CF917D 的垃圾做法
    【ULR #2】Picks loves segment tree IX
  • 原文地址:https://www.cnblogs.com/xzlive/p/12971176.html
Copyright © 2011-2022 走看看