Sql server 在Express Edition中的特定日期执行过程

Sql server 在Express Edition中的特定日期执行过程,sql-server,sql-server-express,jobs,Sql Server,Sql Server Express,Jobs,我有一个从客户机表和历史表复制数据的过程 我如何能做到这一点,而不涉及用户按下按钮,每月在某些特定的日子 我使用的是SQL Server 2008 Express Edition,因此无法使用SQL Server代理计划作业。在SQL Express中,这是不可能的-您需要编写一个执行此操作的程序,然后可以使用Windows任务计划程序执行该程序。SQL server的更高版本包括SQL server代理,您可以使用它来运行您的操作。因为您使用的是SQL Express,所以不能使用SQL se

我有一个从客户机表和历史表复制数据的过程

我如何能做到这一点,而不涉及用户按下按钮,每月在某些特定的日子


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

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

因为您使用的是SQL Express,所以不能使用SQL server代理。但是,有许多备选方案,您可以使用或根据您的操作系统安排所有这些方案:

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

下面是一个使用VBScript的示例:

  • 打开记事本。键入以下代码,用实际值替换$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
    
  • 将此文件另存为
    c:\somewhere\scheduledprocesse.vbs

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

    schtasks /create /tn "some name" 
      /tr "wscript ""c:\somewhere\ScheduledProcedure.vbs""" 
      /sc monthly /d 15 /st 00:00
    
  • 要在计划任务列表中查看此任务(有很多,但应该在第一组中):

    如果以后要删除它,请执行以下操作:

    schtasks /delete /tn "some name" /F
    

    塔克斯!我知道VisualStudio有类似计时器的东西,但不确定它是否能与asp一起工作。net@Andrey这些与asp.net有什么关系?如果您所要做的只是按照计划执行存储过程,那么asp.net也使用该数据库这一事实几乎无关紧要。我有数据库,该数据库连接到asp.net上编写的网站,所以我想我可以使用计时器从.net网站调用此过程。我承认我不知道“计时器”是什么,但如果它依赖于网站的活动,我不确定这是否有效。如果没有人在正确的时间访问您的网站怎么办?我不知道:)问题是我可能无法在服务器上安装其他软件(SQLScheduler Express Agent Standalone SQL Agent(beta)),该服务器将承载网页和dbThanx!我会找东西的
    schtasks /delete /tn "some name" /F