Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>SQL Server Docker Licence Lint (MSSQL_PID)New to Visual Studio Code? Get it now.
SQL Server Docker Licence Lint (MSSQL_PID)

SQL Server Docker Licence Lint (MSSQL_PID)

ReadyStack

|
1 install
| (0) | Free
Lints docker-compose, Kubernetes YAML and Dockerfiles that run the mssql/server image for SQL Server licence gaps: MSSQL_PID unset or Developer in production, Evaluation, core minimums and caps.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SQL Server Docker Licence Lint (MSSQL_PID)

SQL Server Docker Licence Lint (MSSQL_PID) — finds the line

SQL Server Docker Licence Lint (MSSQL_PID)

Checks the mcr.microsoft.com/mssql/server containers in your docker-compose files, Kubernetes YAML and Dockerfiles for SQL Server licence gaps, and prints the list-price exposure next to each one.

Measured on the sample compose file shipped with this extension: an 8-core production container with MSSQL_PID unset: $60,492 Enterprise or $15,780 Standard.

Web version and rule notes: https://getreadystack.com/tools/mssql-container-licence-lint

Why this exists

The official image reads its edition from one environment variable. Docker Hub documents it as MSSQL_PID (default: Developer). Leave it out, and a production database quietly runs an edition that Microsoft licenses for development and test only. Code assistants copy the docker run example from the documentation, which sets MSSQL_PID='Developer', straight into production compose files. A licence audit counts the cores that container could use.

What it checks (13 rules)

Rule What it flags Source
pid_unset image with no MSSQL_PID, so it runs Developer Docker Hub: MSSQL_PID (default: Developer)
pid_developer_prod Developer, StandardDeveloper or EnterpriseDeveloper in a file that says prod / production / live Microsoft editions page
pid_evaluation Evaluation edition Evaluation edition is available for 180 days
pid_web Web edition outside a hosting (SPLA) agreement Microsoft pricing page: Web is hosting only
pid_enterprise_legacy legacy Enterprise (Server + CAL) PID, capped at 20 cores Microsoft MSSQL_PID table
product_key_committed a #####-#####-#####-#####-##### key in the repository Microsoft MSSQL_PID table
core_minimum fewer than 4 CPUs on a paid edition: a 2-CPU Standard container is billed 4 core licences: $7,890 four core licences per virtual OSE
no_cpu_limit paid edition with no CPU limit: every host core must be licensed Microsoft 2022 pricing page
standard_core_cap Standard above 24 cores (2022) or 32 cores (2025): 40 CPUs on Standard 2022: 16 cores that do no work, $31,560 Microsoft editions page
express_core_cap Express above 4 cores (1,410 MB buffer pool, 50 GB database) Microsoft editions page
eula_missing no ACCEPT_EULA, so the container exits on start Microsoft environment variables page
tag_unpinned :latest or no tag, so edition limits can change under you 2022 vs 2025 tables
pid_2025_only StandardDeveloper / EnterpriseDeveloper on a pre-2025 image Microsoft MSSQL_PID table

Yardstick used for every dollar figure: SQL Server 2022 list price, Enterprise $15,123 and Standard $3,945 per 2-core pack. Cores are rounded up to 2-core packs with the 4-core minimum applied.

Worked example

services:
  orders-db:
    image: mcr.microsoft.com/mssql/server:2022-latest
    environment:
      - ACCEPT_EULA=Y
      - ASPNETCORE_ENVIRONMENT=Production
    deploy:
      resources:
        limits:
          cpus: "8"

Result: pid_unset on line 3, with an 8-core production container with MSSQL_PID unset: $60,492 Enterprise or $15,780 Standard. Add MSSQL_PID=Standard (or EnterpriseCore) and the finding goes away. Pick the edition you actually own licences for.

Free and full version

Free, no key: Every finding and the per-container list-price exposure for the open file, in the editor and in the free web page, with no key.

Full version: Workspace sweep: every compose, Kubernetes and Dockerfile in the workspace checked at once, with a written Markdown report of each SQL Server container finding and its list-price exposure, ready to hand to a licence auditor. One licence key per person or team seat, $29 once: https://buy.polar.sh/polar_cl_DzCbdny3aDGMKFdMkOdguhRSGbgiNeZeNnCSh0b7UhV

Limits

This is a lint, not legal advice. It reads the files and has no view of your Microsoft agreement, Software Assurance or licence mobility rights. Treat every dollar figure as list-price exposure. What you actually owe depends on your agreement.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft