ALTER procedure data_restore(@filenm varchar(100)) as USE MASTER Exec KillSpid--存储过程 RESTORE DATABASE KM FROM disk=@filenm 我在KM库中的这个存储过程中调用MASTER库中的KillSpid存储过程,这样调用可能不行,请大家帮忙
ALTER procedure data_restore(@filenm varchar(100)) as Declare @KillKm varchar(8000) Select @KillKm=isnull(@KillKm,'')+'Kill '+rtrim(spid)+char(13) from master.dbo.sysprocesses where dbid=db_id('km') Exec(@KillKm) RESTORE DATABASE KM FROM disk=@filenm go
as
Declare @KillKm varchar(8000)
Select @KillKm=isnull(@KillKm,'')+'Kill '+rtrim(spid)+char(13)
from master.dbo.sysprocesses where dbid=db_id('km')
Exec(@KillKm)
RESTORE DATABASE KM FROM disk=@filenm
go
服务器: 消息 6104,级别 16,状态 1,行 1
不能用 KILL 来取消您自己的进程。
服务器: 消息 3101,级别 16,状态 1,过程 data_restore,行 13
因为数据库正在使用,所以未能获得对数据库的排它访问权。
服务器: 消息 3013,级别 16,状态 1,过程 data_restore,行 13
RESTORE DATABASE 操作异常终止。