删除数据库时候,报了个错:
此时无法更改数据库 'NIS110' 的状态或选项。此数据库处于单用户模式,当前某个用户已与其连接。ALTER DATABASE 语句失败。 (Microsoft SQL Server,错误: 5064)
原因:此数据库处于单用户模式,导致无法删除
百度之后找到了解决办法,备份于此:
USE [master] GO 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了