2

我已经为它们创建了几个批处理作业和相关任务,它们运行良好。但一个问题是,它们首先使用我用来创建作业的帐户运行。我想成为一个系统帐户而不是我的个人帐户(如果我离开这个地方可能会被停用)

我看不出有什么地方可以改变这一点。我是否必须通过 SQL 更新语句来更改它?

谢谢。

4

1 回答 1

4

您可以以任何您想要的服务用户身份登录并设置批处理作业,或者您可以使用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();
}
于 2014-01-24T18:13:59.107 回答