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了

  • 相关阅读:
    【转】Ajax 基础学习
    Top 10 Programming Fonts
    如何成为一个C++高级程序员
    11本免费的编程电子书(英文)
    十个顶级的C语言资源助你成为优秀的程序员
    【转】自己动手写SC语言编译器
    windows下Idea2019.3.4的安装与破解
    大数据小白零基础学习大数据分享
    windows下jdk按装
    windows下Scala安装
  • 原文地址:https://www.cnblogs.com/xzlive/p/12971176.html
Copyright © 2011-2022 走看看