进入master,然后用存储过程杀掉所有连接要恢复数据库的进程;
****杀掉所有连接某数据库的进程:
create proc 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 --用法
use master
exec killspid '数据库名'
小心使用,可能造成数据丢失
****杀掉所有连接某数据库的进程:
create proc 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 --用法
use master
exec killspid '数据库名'
小心使用,可能造成数据丢失
解决方案 »
- 实现动态二维数组
- 在一个解决方案里共享“资源文件”里的图标
- 怎样枚举出DataSource里有多少列
- form启动时,如何能调整form里指定控件内的label的值?
- 如何用C#实现1+2+3+5+8+13.。。。。。。。
- 求c#编写的邮件服务器代码
- C#中读取数据库为什么会抱错?
- webform里面怎么显示dataset到EXCEL控件
- 紧急高分求助,关于SQL语句的问题!如何让两个字段连成一个字段。(直接用sql语句可以吗)
- 几个comboBox都从access数据库中获取值,但是选择其中一个 另外的也都变了
- using的用法我看不懂using在这里怎么是用?
- (初学者)请问如何在C#中调用VC开发的DLL,VS.net需要进行设置吗?
sql="restore database mydb from disk='"+nowpath+"\\数据备份文件(不要删除).dll"+"' with recovery";
exec killspid '数据库名'