sql-server – 授予运行SQL Server作业的权限

前端之家收集整理的这篇文章主要介绍了sql-server – 授予运行SQL Server作业的权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的MSsql服务器2005上有一份工作,我希望允许任何数据库用户运行.

我并不担心安全性,因为作业的实际工作输入来自数据库表.只运行该作业,而不向该表添加记录将不起作用.

我只是找不到如何授予作业的公共权限.

有没有办法做到这一点?在这一点上我唯一能想到的就是让工作不断运行(或按计划进行),但因为它只需要做很少的实际工作(也许每隔几个月),我确实希望工作成为现实.一旦它存在就完成,这似乎不是一个最佳的解决方案.

解决方法

您可以创建运行该作业的存储过程.您可以使用execute as owner将存储过程作为数据库所有者运行.这样,用户自己就不需要sp_start_job上的权限.
create procedure dbo.DoYourJob
with execute as owner
as
exec sp_start_job @job_name = 'YourJob'

授予DoYourJob执行权限以允许人们开始工作.

当然,您也可以将作业的内容放在一个过程中,并授予运行该过程的权限.这将允许更多的交互,比如显示结果文本.

猜你在找的MsSQL相关文章