【发布时间】:2013-10-19 13:18:47
【问题描述】:
我有一个包含以下代码的批处理文件来停止和启动 SQL 报告服务:
net stop "SQL Server Reporting Services (MSSQLSERVER)"
timeout /t 10
net start "SQL Server Reporting Services (MSSQLSERVER)"
我已将计划任务设置为每天运行,它当前以具有最高权限集的 SYSTEM 运行。我已经在该操作上设置了“在文件夹中开始”选项,并且所有内容似乎都设置正确。但是当我运行任务时似乎什么也没发生,它说任务已经运行,但我看不到服务已经按预期重新启动。
有人可以指导我了解我所缺少的吗?谢谢
【问题讨论】:
-
如果您使用用户凭据而不是系统,它是否有效?这将是一个很好的测试,看看它是否作为计划任务运行。也许移除
net start行并验证服务是否已实际停止 - 看看权限是否存在问题。 -
我已经对其进行了编辑,因此它只有停止线,并且我尝试使用我的凭据以及其他用户的凭据,但它没有停止服务。我可以自己运行批处理文件,而不是与任务一起运行,它工作正常
-
也许它没有正确启动或者仍然存在权限问题 - 或者批处理文件中还有我们尚未看到的更多内容。
-
该批次仅包含我在上面复制的位。我刚刚在别处读到,如果批处理包含引号,那么它将不会从任务中运行。是这样吗?如果是这样,我该如何解决?
-
您误解了引用注释,或者完全错误。在命令行上,您需要双引号包含空格和其他有毒字符的任何术语,但它们可以正常工作。在任务计划程序中,您可能需要像这样启动批处理文件:
cmd /c "c:\myfolder\mybatch.bat"
标签: batch-file scheduled-tasks