zjcxc(邹建)--请进 JSP中用restore database

freddy2003 2004-08-18 09:56:08
我想在JSP中开发一个备份与恢复程序,就是用restore database test from disk=c:\a.bak恢复数据库。

在网上找了一段代码如下

********************************************

use master
go

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_killspid]
GO

create proc p_killspid
@dbname varchar(200) --要关闭进程的数据库名
as
declare @sql nvarchar(500)
declare @spid nvarchar(20)

declare #tb cursor for
select spid=cast(spid as varchar(20)) from master..sysprocesses where dbid=db_id(@dbname)
open #tb
fetch next from #tb into @spid
while @@fetch_status=0
begin
exec('kill '+@spid)
fetch next from #tb into @spid
end
close #tb
deallocate #tb
go

--用法
exec p_killspid '数据库名'

*****************************************

我把存储过程p_killspid建立在master下面

在JSP中调用exec p_killspid 'test'时,出错
说没有Kill权限,在查询分析器里是可以的


请问这是什么地方出了问题?
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
freddy2003 2004-08-18
  • 打赏
  • 举报
回复
在JSP中开发备份与恢复程序,有没有更好的方法
zjcxc 元老 2004-08-18
  • 打赏
  • 举报
回复
赋与System Administrators角色的用户我测试过是可以的

你在查询分析器中,用非sa,但属于sysadmin角色的用户登录试试.
freddy2003 2004-08-18
  • 打赏
  • 举报
回复
我把sysadmin 的权限授于给这个用户试了一下,还是不行呀!!

郁闷中!!
freddy2003 2004-08-18
  • 打赏
  • 举报
回复
但是在开发时我是联接到其它的数据库,不是用sa连接的呀,一般用户也不知道sa的密码呀!!

怎么办??
zjcxc 元老 2004-08-18
  • 打赏
  • 举报
回复
KILL的权限

默认情况下,sysadmin 和 processadmin 固定数据库角色的成员具有 KILL 的默认权限,KILL 权限不可转让。
zjcxc 元老 2004-08-18
  • 打赏
  • 举报
回复
说没有Kill权限

这句已经说明问题了,你在jsp中用sa连接sql就行了.
freddy2003 2004-08-18
  • 打赏
  • 举报
回复
帖子没有出来。UP一下

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧