前端之家收集整理的这篇文章主要介绍了
sql-server – 授予运行SQL Server作业的权限,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的MS
sql服务器2005上有一份工作,我希望允许任何
数据库用户运行.
我并不担心安全性,因为作业的实际工作输入来自数据库表.只运行该作业,而不向该表添加记录将不起作用.
我只是找不到如何授予作业的公共权限.
有没有办法做到这一点?在这一点上我唯一能想到的就是让工作不断运行(或按计划进行),但因为它只需要做很少的实际工作(也许每隔几个月),我确实希望工作成为现实.一旦它存在就完成,这似乎不是一个最佳的解决方案.
您可以创建运行该作业的存储过程.您可以使用execute as owner将存储过程作为
数据库所有者运行.这样,
用户自己就不需要sp_start_job上的权限.
create procedure dbo.DoYourJob
with execute as owner
as
exec sp_start_job @job_name = 'YourJob'
授予DoYourJob执行权限以允许人们开始工作.
当然,您也可以将作业的内容放在一个过程中,并授予运行该过程的权限.这将允许更多的交互,比如显示结果文本.
原文链接:https://www.f2er.com/mssql/79930.html