我一直在试图建立一个时间表来运行存储过程在Windows任务计划每隔一小时(因为我使用的是SQL Express和无法安装第三方工具),但在尝试各种方法,如运行.bat文件后,从任务调度,开SQLCMD从任务调度,并通过在命令行语法或我有没有运气.sql的脚本文件的效用。
我知道这是可以做到,所以我敢肯定这件事情我已经错过了,但如果任何人都可以分享自己的这段经历我倒是很欣赏它。
非常感谢
我一直在试图建立一个时间表来运行存储过程在Windows任务计划每隔一小时(因为我使用的是SQL Express和无法安装第三方工具),但在尝试各种方法,如运行.bat文件后,从任务调度,开SQLCMD从任务调度,并通过在命令行语法或我有没有运气.sql的脚本文件的效用。
我知道这是可以做到,所以我敢肯定这件事情我已经错过了,但如果任何人都可以分享自己的这段经历我倒是很欣赏它。
非常感谢
如果您对SQL实例管理员(由于您使用的SQLExpress我敢打赌,你正在试图做到这一点你自己的电脑上,以便有一个高的机会你的用户是SQL实例的管理员),你不应该使用-E所有的,只是忽略它。
其次,说明即使你是在本地工作的服务器上。
开始像下面一个简单的SQL命令:
sqlcmd.exe -S “” -d MY_DATABASE -Q “SELECT * FROM MY_TABLE”
你dbname和表名替换MY_DATABASE和MY_TABLE。 确保您可以从命令行运行它。 它应该从表中返回的数据。 (请注意命令行选项是大小写敏感所以-s是不一样-S)
最后,不要试图通过任务调度养活参数。 把命令与所有参数.bat文件,只是从运行任务调度的批次。
我最近也有类似的问题,我的经验可以帮助你。 我打电话从一个批处理文件,一个小应用程序,即EXE。 我被安排批处理文件从Windows任务计划程序运行。 这个应用程序访问使用Windows身份验证SQL数据。 我可以直接运行应用程序,即点击EXE运行它。 我可以从运行该批处理文件的应用。 但是,如果我试图运行调度的任务,似乎要启动,但什么也没做,并张贴任何错误,我能找到。 我发现,如果我改变了应用程序与SQL身份验证它可以从任务计划程序运行运行。
我怀疑有一些事不是由SQL承认当它从任务计划程序运行Windows身份验证的情况下。