我正在尝试执行每 30 秒后执行一次的简单 SQL 代码
I am trying to execute simple SQL code which executes after every 30 seconds
declare @timeToRun nvarchar(50);
declare @t1 int;
set @t1=10;
set @timeToRun = right(rtrim(CONVERT(VARCHAR(70), GETDATE(), 108)),2)
if @timeToRun = @t1
begin
-- waitfor time @timeToRun
begin
print 'Hello';
end
end
SQL 需要重复 运行 的服务器代码最好使用 SQL 服务器代理作业来完成。 Here is the documentation to create a SQL Server Agent job。简而言之,在 SQL Server Management Studio 中执行此操作的过程是:
在对象资源管理器中,单击加号以展开要在其中创建 SQL 服务器代理作业的服务器。
单击加号展开 SQL 服务器代理。
右键单击“作业”文件夹,然后 select"New Job..."。
在“新建作业”对话框的“常规”页面上,修改作业的常规属性。
在“步骤”页面上,组织作业步骤。
在“计划”页面上,组织作业的计划。
在“通知”页面上,组织作业的通知。
在“通知”页面上,设置 Microsoft SQL 服务器代理在作业完成时执行的操作。
在“目标”页面上,管理作业的目标服务器。
完成后,单击“确定”。
我发现代码可以正常工作,问题出在 SQL SERVER EXPRESS EDITION,它不提供 SQL 代理,相同的查询在 SQL SERVER STANDARD EDITION 上成功执行。
declare @timeToRun nvarchar(50);
declare @t1 int;
set @t1=10;
set @timeToRun = right(rtrim(CONVERT(VARCHAR(70), GETDATE(), 108)),2)
if @timeToRun = @t1
begin
-- waitfor time @timeToRun
begin
print 'Hello';
end
end
SQL 需要重复 运行 的服务器代码最好使用 SQL 服务器代理作业来完成。 Here is the documentation to create a SQL Server Agent job。简而言之,在 SQL Server Management Studio 中执行此操作的过程是:
在对象资源管理器中,单击加号以展开要在其中创建 SQL 服务器代理作业的服务器。
单击加号展开 SQL 服务器代理。
右键单击“作业”文件夹,然后 select"New Job..."。
在“新建作业”对话框的“常规”页面上,修改作业的常规属性。
在“步骤”页面上,组织作业步骤。
在“计划”页面上,组织作业的计划。
在“通知”页面上,组织作业的通知。
在“通知”页面上,设置 Microsoft SQL 服务器代理在作业完成时执行的操作。
在“目标”页面上,管理作业的目标服务器。
完成后,单击“确定”。
我发现代码可以正常工作,问题出在 SQL SERVER EXPRESS EDITION,它不提供 SQL 代理,相同的查询在 SQL SERVER STANDARD EDITION 上成功执行。