Azure SQL Server数据库 - 删除数据

时间:2017-12-19 01:09:44

标签: azure-sql-database azure-eventhub azure-stream-analytics

我目前正在开发一个基于以下项目:

Azure EventHub1 - >流分析1 - > SQL Server数据库

Azure EventHub1 - >流分析2 - >文档数据库

SQL Server和DocumentDB都有各自的Stream作业,但共享相同的EventHub流。

DocumentDB是一个归档接收器,SQL Server DB是一个报告库,只能容纳3天的数据。这是针对每个报告和查询效率要求。

每天我们通过EventHub接收大约30K消息,这些消息通过Stream作业(基本SELECT查询,无操作)推送到SQL Server表。

为了保存3天的数据,我们设计了一个逻辑应用程序,该应用程序调用一个SQL SP,它根据日期删除任何超过3天的数据。每天早上12点运行。

此外,还有另一个业务规则Logic App,它从SQL表中 READ 来执行业务逻辑检查。每5分钟运行一次。

我们注意到,由于一些奇怪的原因,数据删除的逻辑应用程序无法正常工作,而且数月的数据已累计达到300万行。可以手动运行SP,如在Dev setup中测试的那样。

逻辑应用程序显示 成功 状态,但SP执行步骤显示琥珀色检查符号,展开时显示 3次尝试。

我不确定SP为什么不删除旧数据。我的理解是因为Stream作业不断推送数据,SP中的删除操作无法获得删除锁定和超时。

1 个答案:

答案 0 :(得分:1)

请尝试使用Azure自动化。创建运行存储过程的Runbook。 Here您将找到一个示例和分步过程。