MS SQL Server数据库单个用户与单用户模式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、操作SQL Server数据库出现数据库名后加单个用户的情况,解决办法:
在企业管理器—数据库—右键—属性—选项(限止访问(把钩去掉就行了)
2、删除一个数据库时报错,大意是:此数据库处理单用户模式,尚在连接当中,无法删除(既使将SQLServer停止后再启动也是如此)
解决办法:
先在master中创建一个存储过程,用于干掉所有连接。
USE[master]
GO
/****** Object: StoredProcedure [dbo].[killspid] Script Date:
04/11/2014 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
然后调用。
use master
exec killspid '出问题的数据库名'
再删除就ok了。