如何在 SQL Server 2008 中从 SQL 作业运行 C# 控制台应用程序

本文关键字:SQL 运行 控制台 应用程序 作业 2008 Server 中从 | 更新日期: 2023-09-27 18:35:19

我想尝试从 SQL Job 运行我的 C# 控制台应用程序。因此,为了测试它,我简单地创建了一个控制台应用程序,并使用 C# 和 SMO,编写了几行来创建数据库。我可以成功运行它,它按预期在 SQL Server 中创建一个数据库。

然后在 IDE 中,我单击了Build-->Publish myProject to E:'myFolder'MakeNewDB24,因为这是我的 SQL Server 所在的位置。

上述操作将以下文件复制到指定位置,即 E:''myFolder''MakeNewDB24

  • 应用程序文件
  • 设置.exe
  • myProject.application

然后我打开了我的SQL Server,创建了一个作业 rt. clicking Jobs Folder-->New Job .我填写了所有信息。在步骤中,我在命令下,

''mySQLServer'myFolder'MakeNewDB24'setup.exe
Type: Operating System(CmdExec)
Run as: SQL Server Agent Service Account

我跑了这份工作。它将结果显示为"成功"当我查看历史时,

Executed as user: mySQLServer'SYSTEM. The step did not generate any output.  Process Exit Code 0.  The step succeeded.

我很开心。但是当我去检查应该创建的数据库时,它不可用,这意味着 SQL JOb 没有完成创建我的数据库的工作。

我不知道我在这里错过了什么?如果有人对此有所了解,请与我分享。我真的很想看到我的SQL作业完成这项工作。我使用 SQL 作业的原因是因为我所有的自动化任务都是从这里开始的。谢谢。

如何在 SQL Server 2008 中从 SQL 作业运行 C# 控制台应用程序

您的问题几乎肯定与权限有关。 您需要检查用于运行 SQL Server 代理作业的用户 ID。 我的猜测是它在某处没有权限。

您的作业返回成功的原因是,如果 CMD 作业成功启动 CMD 可执行文件,它们始终返回成功。 它与代码是否成功无关。

在我

不必担心安全性的环境中,我已经养成了向所有内容授予管理员权限的不幸习惯,因此我不必担心在何处需要哪些权限。 祝你好运。