zoukankan      html  css  js  c++  java
  • SQLserver无法删除数据库 "XXXX",因为该数据库当前正在使用。

    问题描述:

    有时候删除库的时候,会显示无法删除数据库,因为该数据库当前正在使用。

    解决方法:

    方法一:

    EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'DB_NAME' --填写数据库名称,(msdb.dbo.sp_delete_database_backuphistory删除数据库备份和还原历史记录信息)
    GO
    USE [master]
    GO
    ALTER DATABASE [填数据库名] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE --设置库单用户模式,和设置立即回滚
    GO
    USE [master]
    GO
    DROP DATABASE [填数据库名]
    GO

    方法二:

    use master 
    go 
    
    declare @dbname sysname 
    set @dbname = 'DB_NAME' --填写无法删除的数据库名称
    
    declare @s nvarchar(1000) 
    declare tb cursor local 
    for 
    select s = 'kill ' + cast(spid as varchar) 
    from master.dbo.sysprocesses 
    where dbid = DB_ID(@dbname) 
    
    open tb 
    fetch next from tb into @s 
    while @@fetch_status = 0 
    begin 
    exec (@s) 
    fetch next from tb into @s 
    end 
    close tb 
    deallocate tb 
    
    exec ('drop database [' + @dbname + ']')
  • 相关阅读:
    汇编 gdb调试
    汇编 运行错误解决办法
    binutils安装
    汇编错误
    汇编
    pthread_create()
    error2019-01-17 宏STDOUT_FILENO
    2019-01-17 跳至首行
    .NET MVC 两种视图引擎(Razor、Aspx)
    ECharts属性设置
  • 原文地址:https://www.cnblogs.com/Sungeek/p/10880496.html
Copyright © 2011-2022 走看看