繁体   English   中英

批处理过程,以从SQL Server表中删除行

[英]Batch process to delete rows from a SQL Server table

我正在使用C#、. NET Framework 4.0和SQL Server开发WCF RESTful服务。

我每小时必须对数据库进行一些维护。 我必须从表中删除一些行并更新另一行:

用户可以每24小时发布一天中的三个报价。 我必须删除24小时之前的每一天的报价。 而且我必须用他当天的报价数量更新User表。

我的问题是我不知道该怎么做。 我认为我需要一个每小时运行一次的批处理过程并进行维护,但是我不确定是否可以将此批处理过程添加到数据库中,还是必须将其添加到WCF RESTful服务中,或者我必须实现一个程序来执行此操作。

我该怎么做? 我必须从表中删除一些行并更新另一行。

我认为SQL Server数据库和WCF RESTful服务将托管在Amazon上。

您可以通过多种方式选择执行此操作。 我想到的两个选择是:

  1. 创建一个SQL Server作业-调用将执行必要操作的过程-并将该作业安排为每小时运行一次

  2. 创建Windows服务-定期-在您的情况下,每小时-进行必要的操作。

由于逻辑相对简单,因此我更喜欢SQL Server作业。 如果您希望逻辑在一段时间内变得更加复杂,并且不想处理长时间的SQL过程,则可以考虑使用Windows Service选项。

如果您有权访问Sql Server,请尝试创建一个作业,以删除和更新所需的de Rows。 Sql Server Job可以运行任何所需的程序。 您可以计划何时执行。 要创建Sql Server作业,只需执行sql服务器管理,连接到sql服务器,然后转到Sql Server代理。

创建一个作业,然后创建该作业的步骤并对其进行编程。 如何创建Sql Server作业 http://technet.microsoft.com/zh-cn/library/ms190268.aspx如果无法访问sql server代理来创建作业,则可能应在服务中对其进行编程使用sqlcmd创建批处理文件。

sqlcmd -S myServer\instanceName -i C:\myScript.sql 

然后使用Windows Task Scheduler计划它。 http://technet.microsoft.com/en-us/library/cc766428.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM