1

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

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

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

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

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

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

4

2 回答 2

1

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

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

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

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

于 2013-10-01T08:13:58.290 回答
0

如果您有权访问 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

于 2013-10-01T08:25:06.647 回答