2015-08-19 23 views
2

我有SQL Server 2012默认安装在godaddy共享主机。我想在下午12点执行存储过程。是否可以安排一项任务?请帮帮我。自动调用存储过程

+1

看看SQL作业调度, https://msdn.microsoft.com/en-us/library/ms191439.aspx或者你可以创建附加到Windows服务或调度程序的控制台应用程序 – Sherlock

回答

2

如果可用,Sql代理作业将是最好的。更糟糕的方法是在A WAITFOR延迟后使存储过程执行你想要的。它会工作,但我不能推荐它。

0

由于您使用共享主机,我不认为SQL作业将可用(我检查了我的GoDaddy帐户,它不显示)。你在使用Plesk吗?如果是这样,你可以尝试一下解决方法。启动您的面板,然后点击右侧菜单中的计划任务。

从这里,您可以创建一个新的计划任务。它会要求一个可执行文件的路径,在这里你可以指定一个你想按计划运行的ASPX页面(或者一个PHP页面)。

您的ASPX页面将只是简单地打开一个连接并执行存储过程。它看起来像这样:

<%@ Import Namespace="System" %> 
<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Data.SqlClient" %> 
<%@ Page Language="c#" %> 
<% 
    using (SqlConnection cn = new SqlConnection("connection string here")) { 
     SqlCommand cmd = new SqlCommand { 
      Connection = cn, 
      CommandText = "StoredProcedureNameHere", 
      CommandType = CommandType.StoredProcedure 
     }; 

     cmd.Parameters.Add("exampleParam1", SqlDbType.NVarChar, 50).Value = "test"; 

     cn.Open(); 
     int rowsAffected = cmd.ExecuteNonQuery(); 
     cn.Close(); 
    } 
%> 

在这一点上,你应该很好走!