如何安全地将Hangfire重置为干净状态?

我有一个安装了Hangfire的服务器。 我有一段时间没有检查它,似乎一个重复的工作已经流氓。 它停止工作,然后它重叠了重试,导致看起来完全锁定。

我想清除我的数据库并重新开始。 我可以删除所有表中的数据,还是应该删除表,让Hangfire为我重新创建它们? 这样做会冒任何风险吗?

Hangfire.State使用整个Azure Basic数据库2GB的空间。 在此处输入图像描述

我最终放弃了这些表,起初查询根本不起作用,它只是继续进行而没有发生任何事情。 然后我使用了TRUNCATE TABLE [HangFire].[State]这一切都像是一个魅力之后。 这是我用于Hangfire 1.5.6UseSqlServerStorage的脚本:

 GO PRINT N'Dropping [HangFire].[FK_HangFire_State_Job]...'; GO ALTER TABLE [HangFire].[State] DROP CONSTRAINT [FK_HangFire_State_Job]; GO PRINT N'Dropping [HangFire].[FK_HangFire_JobParameter_Job]...'; GO ALTER TABLE [HangFire].[JobParameter] DROP CONSTRAINT [FK_HangFire_JobParameter_Job]; GO PRINT N'Dropping [HangFire].[Schema]...'; GO DROP TABLE [HangFire].[Schema]; GO PRINT N'Dropping [HangFire].[Job]...'; GO DROP TABLE [HangFire].[Job]; GO PRINT N'Dropping [HangFire].[State]...'; GO DROP TABLE [HangFire].[State]; GO PRINT N'Dropping [HangFire].[JobParameter]...'; GO DROP TABLE [HangFire].[JobParameter]; GO PRINT N'Dropping [HangFire].[JobQueue]...'; GO DROP TABLE [HangFire].[JobQueue]; GO PRINT N'Dropping [HangFire].[Server]...'; GO DROP TABLE [HangFire].[Server]; GO PRINT N'Dropping [HangFire].[List]...'; GO DROP TABLE [HangFire].[List]; GO PRINT N'Dropping [HangFire].[Set]...'; GO DROP TABLE [HangFire].[Set]; GO PRINT N'Dropping [HangFire].[Counter]...'; GO DROP TABLE [HangFire].[Counter]; GO PRINT N'Dropping [HangFire].[Hash]...'; GO DROP TABLE [HangFire].[Hash]; GO PRINT N'Dropping [HangFire].[AggregatedCounter]...'; GO DROP TABLE [HangFire].[AggregatedCounter]; GO PRINT N'Dropping [HangFire]...'; GO DROP SCHEMA [HangFire]; GO PRINT N'Update complete.'; GO