【问题标题】:Execute a procedure on a specific day in Express Edition [duplicate]在 Express Edition 中的特定日期执行程序 [重复]
【发布时间】:2013-02-28 13:48:48
【问题描述】:

我有从客户表复制数据到历史表的过程。

如何在不涉及用户在特定日期每个月按下按钮的情况下自动执行此操作?

我使用的是 SQL Server 2008 Express Edition,因此无法使用 SQL Server 代理安排作业。

【问题讨论】:

    标签: sql-server sql-server-express jobs


    【解决方案1】:

    由于您使用的是 SQL Express,因此您不能使用 SQL Server 代理。但是有很多替代方案,您可以根据您的操作系统使用schtasksWindows Task Scheduler 安排所有这些方案:

    所有这些语言/工具(以及许多其他语言)都能够连接到 SQL Server 并执行存储过程。您也可以尝试以下代理替换:

    这是一个使用 VBScript 的示例:

    1. 打开记事本。输入以下代码,将 $tokens$ 替换为您的真实值:

      s = "$your server/instance name$"
      db = "$your database name$"
      u = "$your SQL auth user ID$"
      p = "$your SQL auth password$"
      constr = "provider=SQLOLEDB;Data Source=" & s & ";Initial Catalog=" & s & _
               ";User ID=" & u & ";Password=" & p & ";Network=DBMSSOCN;"
      Set conn = CreateObject("ADODB.Connection")
      conn.Open constr
      conn.Execute "EXEC dbo.$your procedure name$;"
      conn.close: set conn = nothing
      
    2. 将此文件另存为c:\somewhere\ScheduledProcedure.vbs

    3. 打开命令提示符并键入以下内容(这将安排此脚本在每个月的 15 日午夜运行),全部在一行中:

      schtasks /create /tn "some name" 
        /tr "wscript ""c:\somewhere\ScheduledProcedure.vbs""" 
        /sc monthly /d 15 /st 00:00
      

    要在您的计划任务列表中查看此任务(有很多,但它应该在第一组):

    schtasks /query
    

    如果你以后想删除它:

    schtasks /delete /tn "some name" /F
    

    【讨论】:

    • 谢谢!会寻找我知道 Visual Studio 有类似计时器的东西,但不确定它是否适用于 asp.net
    • @Andrey 这与 asp.net 有什么关系?如果您只想按计划执行存储过程,那么 asp.net 也使用该数据库这一事实几乎无关紧要。
    • 我有数据库,并且该数据库连接到在 ASP.Net 上编写的网站,所以我想我可以使用计时器从 .Net 站点调用此过程。
    • 我承认我不知道“计时器”是什么,但如果它依赖于网站活动,我不确定它是否会起作用。如果没有人在正确的时间访问您的网站怎么办?
    • 我不知道 :) 问题是我可能无法在托管网页和数据库的服务器上安装一些其他软件(SQLScheduler Express Agent Standalone SQL Agent (beta))
    【解决方案2】:

    在 SQL Express 中这是不可能的 - 您需要编写一个程序来执行此操作,然后您可以使用 Windows 任务调度程序来执行该程序。更高版本的 SQL Server 包括 SQL Server Agent,您可以使用它来为您运行。

    【讨论】:

    • 谢谢!会找东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 2010-12-14
    • 2017-10-13
    • 2016-11-10
    • 2014-02-24
    • 2018-07-20
    相关资源
    最近更新 更多