SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理

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

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

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(‘‘‘[email protected]+‘‘‘)‘
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status<>-1
begin
exec(‘kill ‘[email protected])
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end

GO

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

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

再删除就ok了

原文地址:https://www.cnblogs.com/python99/p/12247887.html

时间: 2024-10-12 23:33:08

SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理的相关文章

sql server 数据库变成单用户模式的恢复

USE master;GODECLARE @SQL VARCHAR(MAX);SET @SQL=''SELECT @[email protected]+'; KILL '+RTRIM(SPID)FROM master..sysprocessesWHERE dbid=DB_ID('ty_active_log_gz'); EXEC(@SQL); GO ALTER DATABASE ty_active_log_gz SET MULTI_USER;

专用管理连接(DAC)和单用户模式

数据库运维人员,在维护数据库时,有时会遇到一些特殊的情况,例如,SQL Server实例无法访问,此时需要用到管理员在紧急情况下专用的连接:有时,在做一些系统级别的配置修改时,当前数据库不能被其他用户访问,必须把数据库切换到单用户模式.居安思危,在系统正常运行时,多做一些演练,避免在真正出现异常时,手忙脚乱.先解释一下两个术语: 专用管理连接(Dedicated Administrator Connection, DAC)是SQL Server提供的一个特殊的诊断连接,用于连接数据执行诊断查询和

SQLSERVER 切换数据库为单用户和多用户模式

有时候数据库在占用时,想做一些操作,无法操作.可以尝试将数据库切换为单用户模式来操作.操作完之后再切换回多用户模式. 命令如下: alter database 数据库名 set Single_user  --单用户alter database 数据库名 set multi_user   --多用户 或者 sp_dboption 数据库名,"single user",true  --单用户 sp_dboption 数据库名,"single user",false  -

1.13 单用户模式

1.13 单用户模式 单用户模式 单用户模式就是系统处于最原始的状态,所有网络服务都未启动,文件系统都没有mount,只有最基础的系统module被加载,然后由kernel启动进入命令行状态.这样的状态我们称之为单用户模式. 重启办法 reboot.init 6.shutdown -r now 关机办法 init 0.poweroff 进入单用户模式方法 (1)重启后 在出现启动界面时,按一下方向键,将会在这个界面停留: (2)选择第一项,按e 进入编辑,进入grub 界面 ,找到 linux1

CentOS 7 单用户模式+救援模式

CentOS 7 单用户模式+救援模式.有时候大家可能会忘记自己的root密码,或者错误(命令输入错误,命令位置输入有误等)编辑了一个/etc目录下的核心文件导致系统不能正常启动了!怎么办?重新安装系统那是实在没有办法之举!那我们就进入如下两种方式把错误的配置文件改过来,重启系统不就好了吗!接下来咱们就学习一下两种模式恢复系统Lunix单用户模式+救援模式 单用户模式+救援模式类似windows的安全模式 使用虚拟机在系统里面输入指令重启系统是不能达到我们的要求的,也就是说IDC机房可不是想进就

CentOS6.3修复模式/单用户模式修改fstab文件

今天修改LVM逻辑卷的名称时候,忘记更改fstab配置文件了,导致机器重启后找不到盘,进不了系统!立即用光盘进入修复模式进行修复!  1.修复模式操作方法: 用光盘进入Linux修复模式,插入centos光盘选择第三项:Rescue installed system 然后修改fstab 注意进入修复模式后fstab路径为 vi /mnt/sysimage/etc/fstab 2.单用户模式操作方法 进入Linux单用户模式 执行 root# mount -o remount,rw / 然后/et

SQL SERVER的单用户模式以及专用管理员连接

2007-03-08 18:22:03.46 server    Microsoft SQL Server  2000 - 8.00.2039 (Intel X86) May  3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft CorporationDeveloper Edition on Windows NT 5.1 (Build 2600: Service Pack 2)2007-03-08 18:22:03.46 server    Cop

CentOS单用户模式下修改ROOT密码和grub加密

Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务.如果系统管理员需要进行系统维护或系统出现启动异常时,就需要进入单用户模式或修复模式对系统进行管理了. 使用单用户模式有一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式. 特注:进入单用户模式,没有开启网络服务,不支持远程连接 Linux 系统中不同的运行级别(Run Level)代表了系统的不同运行状态,例如

如何在Linux单用户模式下修改fstab文件

今天服务器新增加了一块硬盘,分区格式后在fstab内设置了自动挂载,由于fstab设置错误,导致linux重新启动时出现错误并且不能正常登入系统: 于是让Linux启用单用户模式进入系统,当修改/etc/fstab文件时提示文件只读,无法修改: 经过网友和网上查找具体修改有两种方式 1.进入Linux单用户模式 执行 root# mount -o remount,rw / 然后/etc/fstab就可以修改了 2.用光盘进入Linux修复模式 (光盘启动按F2 接着输入linux rescue回