Iva*_*lev 13 sql-server scheduled-tasks
我在一家大企业中支持一个应用程序,我的职责之一是清理数据。我需要每小时执行一个查询,我想自动化它。由于组织政策,我无法创建 SQL Server 代理作业或修改架构,我只能操作数据。
无尽的
WHILE(1=1)
BEGIN
WAITFOR DELAY '01:00';
--do work
END
Run Code Online (Sandbox Code Playgroud)
为我完成这项工作,但我对永久开放连接的想法不屑一顾。
理想情况下,我会编写 MS SS 本身的脚本以每小时执行一段给定的代码,但我不确定这是否可行。
这个问题有什么解决办法吗?
Joh*_* N. 23
你的朋友是sqlcmd (Microsoft Technet)
例如
sqlcmd -d YOUR_DB -E -i YOUR_SCRIPT.SQL -o OUTPUTFILE.TXT
Run Code Online (Sandbox Code Playgroud)
祝你好运。
您不需要 Management Studio 来执行查询。
如果您真的没有选择让某人为您安排工作,您应该查看 sqlcmd,如 hot2use 的回答中所述
如果您使用的版本不受支持(因为您没有指定版本),那么还有osql,它是一个命令行客户端,但该工具已被弃用。
然后,您可以使用您想要的任何调度程序(例如 Windows 任务调度程序)调度命令并运行如下所示:
OSQL -E -i c:\temp\dowork.sql
Run Code Online (Sandbox Code Playgroud)
查看文档以了解您有哪些用于服务器选择和身份验证的选项。