Hangfire.SqlServer 1.7.17

SQL Server 2008+ (including Express), SQL Server LocalDB and SQL Azure storage support for Hangfire (background job system for ASP.NET applications).

No packages depend on Hangfire.SqlServer.

https://www.hangfire.io/blog/ Please see https://docs.hangfire.io/en/latest/upgrade-guides/upgrading-to-hangfire-1.7.html to learn how to upgrade from 1.6.X. 1.7.17 • Fixed – SqlException "Incorrect syntax near 'throw'" after upgrading to 1.7.15 when using SQL Server 2008 or 2008R2. 1.7.16 • Fixed – Blocking problems when using multiple storages with the same queue names in the same process (appeared in 1.7.9). 1.7.15 • Fixed – Avoid deadlocks when using the `SetJobParameter` method without introducing issues for older schemas. • Fixed – Remove duplicate sorting in the `SqlServerMonitoringApi.GetJobs` method which is used by a lot of queries. 1.7.14 • Fixed – Duplicate entries in the `JobParameters` table after upgrading to version 1.7.13. • Fixed – Extensive retries on a method that has a retry attribute after upgrading to 1.7.13. • Fixed – "ArgumentException: An item with the same key has already been added. Key: RetryCount" in `SqlServerMonitoringApi`. 1.7.13 • Added – `UseIgnoreDupKeyOption` for SQL Server storage configuration (changes to [Set] and [Hash] tables required). • Fixed – Don't truncate too long keys silently, throw exceptions instead. • Fixed – Add missing null checks for methods in the `SqlServerWriteOnlyTransaction` class. • Fixed – Change `holdlock` hint to `xlock` in `merge` statements in transaction to prevent deadlocks. • Fixed – Don't rethrow "Lock request time out period exceeded" exceptions from expiration manager. • Fixed – Increase [Server].[Id] column's length to 200 for new installations. 1.7.10 • Changed – Use `XACT_ABORT` option for `ExpirationManager` queries. • Changed – Don't rely on implicit rollback when disposing transactions. • Fixed – `NullReferenceException` in logs thrown from `SqlInternalTransaction.Rollback` method. 1.7.9 • Changed – Implement long polling fetch for sub-second polling delays without `sp_getapplock`. • Fixed – Don't leak `DbConnection` instance when an exception occurs during its opening. • Fixed – Can not obtain connection from the pool exception after database was offline. • Fixed – High number of waits in SQL Server when Hangfire Servers are idle. 1.7.8 • Added – Support for Microsoft.Data.SqlClient package when using a custom connection factory (Part II). • Fixed – Remove `System.Data.SqlClient` dependency from `SqlCommandBatch` and `ExpirationManager`. 1.7.7 • Added – Add support for Microsoft.Data.SqlClient package when using custom connection factory (Part I). • Added – Add `UseFineGrainedLocks` option to avoid deadlocks in some theoretical cases. • Added – Add missing overload for `UseSqlServerStorage` with connection factory parameter only. • Added – Expose the SqlServerObjectsInstaller.GetInstallScript method (by @altso). • Fixed – Make command batching working on .NET Core when using System.Data.SqlClient 4.7.0 and higher. • Fixed – Permit dash characters (`-`) in schema names (by @kendaleiv). • Fixed – Escape square bracket characters in schema names. • Project – Add support for `netcoreapp3.0` target in Hangfire.SqlServer.Tests. • Project – Take schema name from constant in Hangfire.SqlServer.Tests (by @kendaleiv). • Project – Make Hangfire.SqlServer.Tests work on Linux in Travis CI environment. 1.7.4 • Fixed – Potential deadlocks cause by suboptimal queries when using `SlidingInvisibilityTimeout` fetching. • Fixed – Prevent zero delays between fetch retry attempts when lock acquisition failed without blocking. • Fixed – Specify float precision explicitly for the `Score` column in the `AddToSet` method. 1.7.3 • Fixed – Wrong error message in migration script, when @CurrentSchemaVersion has a NULL value (by @penenkel). 1.7.2 • Fixed – Occasional "DataException: Error parsing column" error when using blocking fetch. 1.7.1 • Changed – Use blocking fetch implementation only for sub-second polling intervals. • Fixed – Don't fail with an exception when can't connect to MSSQL instance during start-up. • Fixed – Don't access the `JobQueue` table when using blocking query and don't have results. 1.7.0 • Added – Full .NET Core 2.0 support by explicitly targeting .NET Standard 2.0. • Added – `Schema 7` migration to fix the `IX_HangFire_Set_Score` index to include the `Key` column. • Added – `Schema 6` migration with less indexes, better physical layout and `bigint` support (disabled by default). • Added – Blocking fetch support for sliding expiration-based fetch to avoid excessive polling. • Added – `SqlServerStorageOptions.EnableHeavyMigrations` switch to automatically install even heavy migrations. • Added – `SqlServerStorageOptions.DisableGlobalLocks` property to avoid custom locking scheme. • Added – `SqlServerStorageOptions.UsePageLocksOnDequeue` property to use less CPU consuming fetch. • Added – Callback method to allow to open the database with impersonation (by @BjoernHund). • Added – `SqlServerStorageOptions.UseRecommendedIsolationLevel` option to set the minimum possible level. • Changed – Identity columns either converted to the `bigint` type, or entirely removed. • Changed – Clustered indexes were organized according to the access patterns of their tables. • Changed – Most of secondary indexes were either removed or made filtered. • Changed – Optimize sliding-expiration-based fetching to use even less CPU time. • Changed – Use write reordering and fine-grained locking scheme to improve parallelism. • Changed – Monitoring API doesn't check state data to see state transition time. • Changed – Allow to use zero-based poll interval when sliding invisibility timeout. • Changed – Short paths for the `CreateExpiredJob` method to avoid some round-trips. • Changed – Set `SqlParameter` types explicitly to not to duplicate query plans. • Changed – Batch support for `AddToQueue` method when default provider is used. • Changed – Check `FetchedAt` has expected value to prevent prolonging others' work. • Changed – Use more recent Dapper 1.50.7 on all platforms except .NET Framework 4.5. • Changed – Dapper package is internalized now even on .NET Core to avoid possible conflicts. • Fixed – Avoid unnecessary waits in state changer when job was already expired. • Fixed – Cannot resolve the collation conflict in `CountersAggregator`. • Fixed – Background processing stops when identity columns exceed the `Int32.MaxValue`. • Fixed – Slowdown of scheduled jobs due to the missing index on the `[Set]` table.

.NET Framework 4.5

.NET Standard 1.3

.NET Standard 2.0

Version Downloads Last updated
1.8.23 2 05/05/2026
1.8.22 1 05/06/2026
1.8.21 1 05/06/2026
1.8.20 1 05/06/2026
1.8.19 1 05/06/2026
1.8.18 1 05/06/2026
1.8.17 1 05/06/2026
1.8.16 1 05/06/2026
1.8.15 1 05/05/2026
1.8.14 1 05/06/2026
1.8.12 1 05/06/2026
1.8.11 1 05/06/2026
1.8.10 1 05/06/2026
1.8.9 1 05/06/2026
1.8.7 0 12/29/2023
1.8.6 1 05/06/2026
1.8.5 0 08/11/2023
1.8.4 0 07/27/2023
1.8.3 0 06/27/2023
1.8.2 1 05/06/2026
1.8.1 0 05/18/2023
1.8.0 1 05/06/2026
1.7.37 1 05/06/2026
1.7.36 1 05/06/2026
1.7.35 1 05/06/2026
1.7.34 1 05/06/2026
1.7.33 1 05/06/2026
1.7.32 1 05/06/2026
1.7.31 1 05/06/2026
1.7.30 1 05/06/2026
1.7.29 0 05/23/2022
1.7.28 0 12/18/2021
1.7.27 1 05/06/2026
1.7.26 1 05/06/2026
1.7.25 1 05/06/2026
1.7.24 0 06/28/2021
1.7.23 1 05/06/2026
1.7.22 1 05/06/2026
1.7.21 1 05/06/2026
1.7.20 0 03/19/2021
1.7.19 1 05/06/2026
1.7.18 1 05/06/2026
1.7.17 1 05/06/2026
1.7.16 1 05/06/2026
1.7.15 1 05/06/2026
1.7.14 1 05/06/2026
1.7.13 1 05/06/2026
1.7.12 1 05/06/2026
1.7.11 1 05/06/2026
1.7.10 1 05/06/2026
1.7.9 0 01/20/2020
1.7.8 1 05/06/2026
1.7.7 1 05/06/2026
1.7.6 1 05/06/2026
1.7.5 1 05/06/2026
1.7.4 1 05/06/2026
1.7.3 1 05/06/2026
1.7.2 1 05/06/2026
1.7.1 1 05/06/2026
1.7.0 1 05/06/2026
1.6.30 1 05/06/2026
1.6.29 1 05/06/2026
1.6.28 1 05/06/2026
1.6.27 1 05/06/2026
1.6.26 1 05/06/2026
1.6.25 1 05/06/2026
1.6.24 1 05/06/2026
1.6.23 0 03/13/2019
1.6.22 1 05/06/2026
1.6.21 1 05/06/2026
1.6.20 1 05/06/2026
1.6.19 1 05/06/2026
1.6.18 1 05/06/2026
1.6.17 1 05/06/2026
1.6.16 0 09/02/2017
1.6.15 1 05/06/2026
1.6.14 1 05/06/2026
1.6.13 1 05/06/2026
1.6.12 1 05/06/2026
1.6.11 1 05/06/2026
1.6.10 1 05/06/2026
1.6.9 1 05/06/2026
1.6.8 0 12/21/2016
1.6.7 1 05/06/2026
1.6.6 1 05/06/2026
1.6.5 1 05/06/2026
1.6.4 1 05/06/2026
1.6.3 0 08/19/2016
1.6.2 0 08/05/2016
1.6.1 1 05/06/2026
1.6.0 0 07/15/2016
1.5.9 1 05/06/2026
1.5.8 0 06/17/2016
1.5.7 0 05/30/2016
1.5.6 1 05/06/2026
1.5.5 1 05/06/2026
1.5.4 1 05/06/2026
1.5.3 1 05/06/2026
1.5.2 1 05/06/2026
1.5.1 0 10/14/2015
1.5.0 1 05/06/2026
1.4.7 0 10/01/2015
1.4.6 0 08/29/2015
1.4.5 0 07/24/2015
1.4.4 0 07/23/2015
1.4.3 1 05/06/2026
1.4.2 0 05/06/2015
1.4.1 1 05/06/2026
1.3.4 1 05/06/2026
1.3.3 1 05/06/2026
1.3.2 1 05/06/2026
1.3.1 0 01/13/2015
1.3.0 0 12/10/2014
1.2.2 1 05/06/2026
1.2.1 0 11/22/2014
1.2.0 0 11/17/2014
1.1.1 1 05/06/2026
1.1.0 0 09/03/2014
1.0.2 0 07/01/2014
1.0.1 0 06/30/2014
1.0.0 0 06/30/2014
0.9.1 1 05/06/2026
0.9.0 1 05/06/2026
0.8.3 0 05/23/2014
0.8.2 0 05/21/2014
0.8.1 1 05/06/2026
0.8.0 1 05/06/2026
0.7.5 1 05/06/2026
0.7.4 0 04/07/2014
0.7.3 1 05/06/2026
0.7.1 1 05/06/2026
0.7.0 1 05/06/2026