请教关于数据库恢复的问题:
当我用killspid存储过程来清除访问@dbname的进程的时候,除非用sa用户
否则用其它用户就出现:
拒绝了对对象 'killspid'(数据库 'master',所有者 'dbo')的 EXECUTE 权限
请教怎么给非sa用户增加对master的EXECUTE 权限,使其能顺利执行killspid 过程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 =0
begin
set @temp='kill '+rtrim(@spid)
exec(@temp)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end
当我用killspid存储过程来清除访问@dbname的进程的时候,除非用sa用户
否则用其它用户就出现:
拒绝了对对象 'killspid'(数据库 'master',所有者 'dbo')的 EXECUTE 权限
请教怎么给非sa用户增加对master的EXECUTE 权限,使其能顺利执行killspid 过程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 =0
begin
set @temp='kill '+rtrim(@spid)
exec(@temp)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end
go
exec sp_addsrvrolemember '用户', sysadmin
EXEC master..sp_addlogin '用户', '密码'
go
exec sp_addsrvrolemember '用户', sysadmin
后。。
有什么不同,安全性上要注意什么