【问题标题】:Bat file to run a sql query on a schedule through Task Scheduler通过任务计划程序按计划运行 sql 查询的 Bat 文件
【发布时间】:2017-06-27 14:24:36
【问题描述】:

我正在尝试按计划运行 .sql 脚本。我创建了一个批处理文件来运行脚本。该脚本在 sql server management studio 以及当我通过 cmd 运行批处理文件内容时运行良好。

批处理文件的内容:

sqlcmd -S omfmesql -U OMESRV -P orat -i "\\pvsrv-
fsr14\data\Projects\Stat_Table_Creation_unique.sql"

sql 脚本应该更新一个统计表。当我通过 cmd 运行它并刷新统计表时,数字会更新。但是当我通过任务计划程序运行这个批处理文件时,似乎执行的唯一操作是运行 C:\Windows\SYSTEM32\cmd.exe

任务已成功完成,但 sql 查询未运行。

我对任务计划程序不太熟悉。非常感谢这里的任何帮助。谢谢!

注意:我不打算使用 SQL Server 代理

【问题讨论】:

  • 我不确定任务计划程序是否可以将您的凭据传递给 sql server。
  • 系统帐户可能没有访问共享网络位置的权限。您可以在某个用户帐户下运行任务,已知它可以访问所需的所有资源。您正在设置用户并通过 sqlcmd 可以连接,但任务计划程序可能无法访问网络共享。

标签: sql batch-file scheduled-tasks


【解决方案1】:

如果您还没有这样做,则需要在任务计划程序 (TS) 中设置位置。至少在某些 TS 版本中,这只能在您创建基本任务时完成,而不是从更一般的“创建任务...”选项中完成。确保批处理文件中的所有路径都是绝对路径或基于此位置。

【讨论】:

  • 我在TS的Actions选项卡下指定了批处理文件的路径。在“常规”选项卡中,我无法指定“位置”。那是灰色的。
  • 如果您使用“创建任务...”选项,它会显示为灰色,但如果您使用“创建基本任务”选项,它应该是可编辑的。
猜你喜欢
  • 2013-07-18
  • 2011-11-06
  • 1970-01-01
  • 2020-07-07
  • 2014-02-28
  • 2015-08-08
  • 2015-11-30
  • 1970-01-01
  • 2010-09-22
相关资源
最近更新 更多