我已经为它们创建了几个批处理作业和相关任务,它们运行良好。但一个问题是,它们首先使用我用来创建作业的帐户运行。我想成为一个系统帐户而不是我的个人帐户(如果我离开这个地方可能会被停用)
我看不出有什么地方可以改变这一点。我是否必须通过 SQL 更新语句来更改它?
谢谢。
我已经为它们创建了几个批处理作业和相关任务,它们运行良好。但一个问题是,它们首先使用我用来创建作业的帐户运行。我想成为一个系统帐户而不是我的个人帐户(如果我离开这个地方可能会被停用)
我看不出有什么地方可以改变这一点。我是否必须通过 SQL 更新语句来更改它?
谢谢。
您可以以任何您想要的服务用户身份登录并设置批处理作业,或者您可以使用runas(...)
代码轻松完成此操作 ( http://msdn.microsoft.com/en-us/library/aa893873.aspx ):
server static public void Main(Args _args)
{
RunAsPermission perm;
UserId runAsUser;
SysUserInfo userInfo;
userInfo = SysUserInfo::find();
runAsUser = userInfo.Id;
perm = new RunAsPermission(runAsUser);
perm.assert();
runAs(runAsUser, classnum(EventJobDueDate), "runDueDateEventsForUser");
CodeAccessPermission::revertAssert();
}