Healthie.NET.SqlServer
4.1.3
Prefix Reserved
See the version list below for details.
dotnet add package Healthie.NET.SqlServer --version 4.1.3
NuGet\Install-Package Healthie.NET.SqlServer -Version 4.1.3
<PackageReference Include="Healthie.NET.SqlServer" Version="4.1.3" />
<PackageVersion Include="Healthie.NET.SqlServer" Version="4.1.3" />
<PackageReference Include="Healthie.NET.SqlServer" />
paket add Healthie.NET.SqlServer --version 4.1.3
#r "nuget: Healthie.NET.SqlServer, 4.1.3"
#:package Healthie.NET.SqlServer@4.1.3
#addin nuget:?package=Healthie.NET.SqlServer&version=4.1.3
#tool nuget:?package=Healthie.NET.SqlServer&version=4.1.3

Healthie.NET.SqlServer
▶ Live demo — board.healthie-dotnet.dev — a read-only Healthie.NET dashboard watching real status pages (Anthropic, OpenAI, GitHub, Cloudflare, and more), built from these packages. Full documentation at healthie-dotnet.dev.
SQL Server IStateProvider implementation for Healthie.NET. Persists pulse checker state to SQL Server or Azure SQL for durable storage across application restarts and across the replicas of a scaled-out deployment.
Installation
dotnet add package Healthie.NET.SqlServer
Usage
using Healthie.StateProviding.SqlServer;
builder.Services
.AddHealthie(typeof(Program).Assembly)
.AddHealthieSqlServer(builder.Configuration.GetConnectionString("Healthie")!);
The table is created on startup if it does not exist. The database is not, so create it yourself or point at an existing one. Pass a second argument to store state somewhere other than healthie_pulse_state:
.AddHealthieSqlServer(connectionString, "monitoring.pulse_state");
Writes update first and insert only if nothing was updated, under UPDLOCK, SERIALIZABLE. Those hints are what make concurrent writers safe rather than occasionally colliding on the primary key.
The checker name is the primary key, so it is capped at 450 characters — the longest a SQL Server key column may be. A checker name defaults to its type's full name and does not come close.
Other engines
This is a thin wrapper over Healthie.NET.Relational, which works against any database with an ADO.NET driver.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Healthie.NET.Relational (>= 4.1.3)
- Microsoft.Data.SqlClient (>= 7.1.0)
-
net8.0
- Healthie.NET.Relational (>= 4.1.3)
- Microsoft.Data.SqlClient (>= 7.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
### Fixed
- Compatible runtime and test dependencies now track their current releases, including the latest
Quartz 3 line for the existing `net8.0` and `net10.0` provider. Dependabot now leaves the
incompatible Quartz 4 migration for a future Healthie.NET major release.
- The test projects now run on xUnit 4 through Microsoft Testing Platform, so .NET 10 executes the
unit and browser suites instead of rejecting their legacy VSTest target.
- The Aspire sample now uses the matching 13.5.4 AppHost SDK and its recommended CLI bundle, and the
redundant direct SSH.NET test pin was removed after Testcontainers adopted the patched release.
- The Scorecard upload action is pinned to the current immutable CodeQL Action 4.38.2 commit.
Full changelog: https://github.com/ivanvyd/Healthie.NET/blob/v4.1.3/CHANGELOG.md