Search code examples
c#health-check

How to check multiple database using AspNetCore.HealthChecks.SqlServer?


Currently I have checked for one database using these code:

services.AddHealthChecks()
               .AddSqlServer(
                 connectionString: Configuration.GetConnectionString("DefaultConnection"),
                 healthQuery: "SELECT 1;",
                 name: "sql",
                 failureStatus: HealthStatus.Degraded,
                 tags: new string[] { "db", "sql", "sqlserver" }
               );

But how do I check multiple database? I am using .NET Core 3.1 and AspNetCore.HealthChecks.SqlServer Version=3.1.1.


Solution

  • Add another AddSqlServer method but with different name. name must be unique.

    services.AddHealthChecks()
        .AddSqlServer(
            connectionString: Configuration.GetConnectionString("DefaultConnection"),
            healthQuery: "SELECT 1;",
            name: "sql",
            failureStatus: HealthStatus.Degraded,
            tags: new string[] { "db", "sql", "sqlserver" })
        .AddSqlServer(
            connectionString: Configuration.GetConnectionString("AnotherConnection"),
            healthQuery: "SELECT 1;",
            name: "sql2",
            failureStatus: HealthStatus.Degraded,
            tags: new string[] { "db", "sql", "sqlserver" }
               );