【问题标题】:Batch process to delete rows from a SQL Server table从 SQL Server 表中删除行的批处理
【发布时间】:2013-10-01 08:04:02
【问题描述】:

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

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

用户可以每 24 小时发布一天中的三个报价。我必须删除一天中超过 24 小时的每个报价。我必须用他当天的报价数更新用户表。

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

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

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

【问题讨论】:

    标签: c# .net sql-server wcf


    【解决方案1】:

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

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

    2. 创建一个 Windows 服务 - 定期 - 在你的情况下每小时 - 做必要的事情。

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

    【讨论】:

      【解决方案2】:

      如果您有权访问 Sql Server,请尝试创建一个 Job 来删除和更新您需要的 de Rows。 Sql Server 作业可以运行您需要的任何东西。 您可以安排何时执行。 要创建 Sql Server 作业,只需执行 sql server 管理,连接到 sql server 并转到 Sql Server Agent。

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

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

      然后使用 Windows 任务计划程序对其进行计划。 http://technet.microsoft.com/en-us/library/cc766428.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-16
        • 2020-06-01
        相关资源
        最近更新 更多