use master
go
create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500),@temp varchar(1000)
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
set @temp='kill '+rtrim(@spid)
exec(@temp)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end --用法
use master
exec killspid '数据库名'
go
create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500),@temp varchar(1000)
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
set @temp='kill '+rtrim(@spid)
exec(@temp)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end --用法
use master
exec killspid '数据库名'
2、在应用程序端已这个用户对数据进行访问
3、要暂停访问的时候,将这个用户对某个库的访问权限去掉,这样,就没有用户可以访问
你 要备份还原的数据库了,除了SA外
4、你用SA用户登陆,进行数据库备份还原操作测试通过
数据库分离或脱机。有用户访问不可脱机。
老大,用你的方法实现了。可否请教,为何用@SQL 和@TEMP 两个
变量存储命令,直接运行不行吗???
是不是和事务的执行有关?
变量存储命令,直接运行不行吗???因为直接写不支持啊.