sqlserver数据库处于单用户模式--改为多用户

今天做了备份还原,之后不知道怎么了 数据库处于单用户模式了,只能一个用户连接使用,其他用户没法连接sqlserver数据库处于单用户模式--改为多用户_第1张图片网上很多说执行一个存储过程的,杀掉所有用户连接进程,然后改为多用户,我执行了后还是显示是单用户,当前某一用户在连接,
于是我在问过开发的基础上重启了MSSQLSERVER服务,再执行那个存储过程就可以了)。
sqlserver数据库处于单用户模式--改为多用户_第2张图片sqlserver数据库处于单用户模式--改为多用户_第3张图片存储过程如下,并将单用户改为多用户

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

use   master   
exec   killspid3 APPDB
ALTER DATABASE APPDB SET MULTI_USER  --单用户改为多用户

你可能感兴趣的:(sqlserver)