使非管理员帐户来执行xp_cmdshell扩展存储过程 执行xp_cmdshell相当于拥有服务器windows的操作权限(执行任何DOS命令),不建议开放喔,可以把需要用到的功能封装为存储过程或CLR实现,然后授权给对应的用户即可. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 知道这个问题,所以不能给用户sa的权限,用户就是public角色成员,但个别的地方需用到复制文件,需要xp_cmdshell,才用代理账号的方式处理,不想直接给用户加到sysadmin中. 可以把需要用到的功能封装为存储过程,然后授权给对应的用户即可. 这样仅仅将指定的DOS命令(如copy)授权给用户使用比较安全.比起让用户直接调用xp_cmdshell执行任何DOS命令安全喔.例如,-- 复制文件create proc dbo.sp_CopyFile(@SourceFile varchar(100), -- 源文件 @TargetFile varchar(100) -- 目标文件)asbegin set nocount on exec xp_cmdshell 'copy '+@SourceFile+' '+@TargetFile+' /Y'end 放在存储过程中,用户一样也是要运行xp_cmdshell, 又回到那个用户账号的权限问题,如将用户账号加入sysadmin,就没有问题,但sysadmin权限过大,目前用户是public角色,不能运行xp_cmdshell,sql帮助有提到可以用代理账号的方式,允许非sysadmin成员运行xp_cmdshell,现在就是配置了代理账号运行出错. 但查询配置信息又是成功的.配置方式参考:http://support.microsoft.com/kb/890775 你当前的用户,要有 sysadmin 的角色,不然没有权限执行这个存储过程的。 Sql 2000 行列转换的问题 SqlServer的备份文件和备份设备有什么区别? CTE,内连接用于千万级数据执行效率的问题 请问在数据库中插入一批数据除了用游标还可以用什么? 求助:字符串比较问题 DTS导入时大整数相乘问题。 替换一个表中的数据的SQL怎么写 数据库同步,欢迎下载试用:http://www.csdn.net/cnshare/soft/14/14959.shtm 大家看看这个sql该怎么写? 这个问题可以吗?(急!!!) 求简化一条语句 求助
知道这个问题,所以不能给用户sa的权限,用户就是public角色成员,但个别的地方需用到复制文件,需要xp_cmdshell,
才用代理账号的方式处理,不想直接给用户加到sysadmin中.
这样仅仅将指定的DOS命令(如copy)授权给用户使用比较安全.
比起让用户直接调用xp_cmdshell执行任何DOS命令安全喔.
例如,-- 复制文件
create proc dbo.sp_CopyFile
(@SourceFile varchar(100), -- 源文件
@TargetFile varchar(100) -- 目标文件
)
as
begin
set nocount on
exec xp_cmdshell 'copy '+@SourceFile+' '+@TargetFile+' /Y'
end
放在存储过程中,用户一样也是要运行xp_cmdshell, 又回到那个用户账号的权限问题,如将用户账号加入sysadmin,就没有问题,
但sysadmin权限过大,目前用户是public角色,不能运行xp_cmdshell,sql帮助有提到可以用代理账号的方式,允许非sysadmin成员运行xp_cmdshell,现在就是配置了代理账号运行出错. 但查询配置信息又是成功的.
配置方式参考:http://support.microsoft.com/kb/890775