Azure SQL Server数据库 - 删除数据

问题描述 投票:0回答:1

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

Azure事件中心1 - >流分析1 - > SQL Server数据库

Azure事件中心1 - >流分析2 - > Documentdb

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

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

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

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

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

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

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

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

azure-sql-database azure-eventhub azure-stream-analytics
1个回答
1
投票

请尝试使用Azure自动化。创建运行存储过程的Runbook。 Here你会找到一个例子和一步一步的程序。

© www.soinside.com 2019 - 2024. All rights reserved.