Zoomed Image

SQL Discovery

Software Asset Management Guide
Operations

SQL Discovery

SQL Server has its own dedicated dashboards within SAM because of the per-core, per-host licensing model and the prevalence of multiple instances per server. This page covers the operational aspects: making sure SQL discovery is finding hosts and instances correctly, and the licensing position reflects reality.

The SQL Server Dashboards

Navigate to Licensing → Sql Server for SQL-specific compliance views. These dashboards show:

  • SQL Server installs by edition (Standard, Enterprise, Web, Developer, Express)
  • Per-host core counts
  • Per-host instance counts (for inventory purposes — licensing is per host, not per instance)
  • Compliance position broken down by SQL product

For the conceptual model, see Concepts: SQL Server Licensing.

Confirming Discovery Is Finding Instances

For each SQL host, discovery should create:

  • The host asset (the server)
  • One child asset per running SQL instance, used for inventory and visibility

If a SQL host shows no child instances, discovery did not find them. Causes:

  • SQL Browser is not running on the host
  • Discovery credentials lack permission to read the SQL registry keys
  • Network ACLs block discovery from reaching SQL Browser ports

Investigate by:

  1. Open the host asset.
  2. Check the discovery log for SQL probe results.
  3. If empty, log into the host and confirm SQL Browser is running.
  4. Verify the discovery agent's credentials work for reading the SQL Server registry.

Confirming Core Counts

Licensing math depends on the host's core count, not the instance's. If a SQL host's CPUCores value does not match the actual hardware (e.g., after a CPU upgrade), the position will under-report.

To spot-check, open a sample of SQL host assets from the SQL dashboard and compare the displayed core count against what you know about the hardware. For systematic verification, build an xAssets query that lists SQL hosts with their core counts; sort and review.

If a host's CPUCores is wrong, re-run discovery against that host to refresh.

Free Editions in Compliance Reports

SQL Server Developer and Express editions are typically classified as Free in the recognition database. They should appear in install counts but not in compliance numbers. Web Edition is paid (typically licensed through hosting agreements) — make sure your catalog has it as a paid product, not Free.

To verify:

  1. Open the catalog entry for SQL Server Developer Edition.
  2. Confirm License Type = Free.
  3. Run Calculate Licensing Position.
  4. Check the Licensing Position for SQL Server Developer — it should show installs but zero seats and zero outstanding requirement.

If a free edition is showing as a deficit, the License Type is wrong on the catalog entry. Fix and recalculate.

CORE4 vs CORE on SQL Licenses

Microsoft Volume Licensing for SQL Server has a 4-core minimum per server (or VM). The license type to use is CORE4 — it applies the floor automatically.

If your SQL Standard or Enterprise licenses are typed as CORE (no minimum), the engine will under-count consumption on small VMs (a 2-core SQL VM will look like it needs 2 cores when it actually needs 4 per the contract).

Spot-check by:

  1. Open Licensing → Licenses, filter to SQL Server licenses.
  2. For each, confirm License Type is CORE4 (or CORE8 / CORE16 for the relevant editions/programs).
  3. If wrong, update and recalculate.

SQL Discovery Cadence

SQL discovery is part of the standard Network Discovery pipeline. Schedule the SAM-relevant SQL discovery to run at least weekly — more often if your SQL footprint changes regularly.

For environments with rapid SQL VM provisioning (development teams spinning up instances daily), nightly discovery is appropriate so the licensing position keeps pace.