SQL Server Docker Licence Lint (MSSQL_PID)

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. Runs entirely in your browser — nothing is uploaded.

Same engine as the VS Code extension, byte for byte.

Get the complete version $29

This page is the working piece. The full pack has everything below.

mssql docker licence check for compose, Kubernetes and Dockerfiles

SQL Server 2022 list price, Enterprise $15,123 and Standard $3,945 per 2-core pack. an 8-core production container with MSSQL_PID unset: $60,492 Enterprise or $15,780 Standard.

Buy the full version — $29
Want the full version?
Enter your email and we send the download link.
ENDEJAESPT

Find a tool

· ReadyStack

Worked example

Real numbers from this tool, line by line.

SQL Server Docker Licence Lint (MSSQL_PID)

$60,492 is the Enterprise list price for an 8-core production container with MSSQL_PID unset, and that exact line is sitting in docker-compose files kept by DevOps engineers and .NET teams in the US, the UK and the EU who run SQL Server on Docker or Kubernetes.

The mechanism is one missing environment variable. The official mcr.microsoft.com/mssql/server image reads its edition from MSSQL_PID, and Docker Hub documents it as MSSQL_PID (default: Developer). Developer edition carries every Enterprise feature, and Microsoft licenses it for use as a development and test system, not as a production server. The container starts, the application works, nothing in the logs complains. Only a licence audit asks which edition the production database ran and on how many cores.

Why does the line go missing? Microsoft's own quick-start command is docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer'. That is correct on a laptop. Code assistants and copy-paste move it into docker-compose.production.yml. Or someone deletes the variable because "it worked without it". A reviewer cannot see a line that is not there.

I wrote a small lint for this and ran it on a sample production compose file with four SQL Server services. It returned 6 findings from 13 rules:

The dollar figures come from one public yardstick: SQL Server 2022 list price, Enterprise $15,123 and Standard $3,945 per 2-core pack. The lint rounds up to 2-core packs and applies the four-core minimum per virtual OSE. It prints both editions because the audit conversation is about which one you owe. Developer carries the Enterprise feature set.

Two more rules matter when you size containers. Standard edition uses the lesser of 4 sockets or 24 cores in SQL Server 2022 and 32 cores in 2025. 40 CPUs on Standard 2022: 16 cores that do no work, $31,560. And a paid edition with no CPU limit at all sees every host core. The Microsoft pricing page says to license all the virtual cores on the virtual OSE.

Why not ask a chatbot? Because the chatbot answers the question you type, and the missing line is the question nobody types. It will happily explain editions and then hand you the Developer example again. The free Docker and YAML linters check syntax, not licences.

The extension runs in VS Code on docker-compose, Kubernetes YAML and Dockerfiles. The same engine runs in a free web page where you paste a file. Every finding and every exposure figure is free, with no key, for the file you have open. The paid part is the workspace sweep: every file checked at once and a written Markdown report you can hand to whoever runs your licence true-up.

It is a lint, not legal advice. It does not know your agreement, Software Assurance or licence mobility rights, so read every number as list-price exposure. But it does know that a line is missing, and what that line costs at list price.

15 seconds — what it actually does

Questions people ask

What does SQL Server Docker Licence Lint do?

It reads docker-compose files, Kubernetes YAML and Dockerfiles that run the mssql/server image and flags licence gaps: MSSQL_PID unset or Developer in production, Evaluation, legacy Enterprise PID, committed product keys, the 4-core minimum and Standard core caps. Each finding shows list-price exposure, for example an 8-core production container with MSSQL_PID unset: $60,492 Enterprise or $15,780 Standard.

Who is this lint for?

DevOps engineers, platform teams and .NET developers who run SQL Server in Docker or Kubernetes, in the US, the EU or anywhere Microsoft volume licensing applies, and who have to answer a Microsoft licence audit or a software asset manager asking which edition each production container runs and on how many cores.

Why not just ask a chatbot or read the docs?

The Microsoft example command sets MSSQL_PID='Developer', and chatbots copy it into production files. Docker Hub documents MSSQL_PID (default: Developer), so a missing line is invisible in review. Evaluation edition is available for 180 days. The lint reads your real file, counts the CPU limit and prices the gap against the SQL Server 2022 list price, Enterprise $15,123 and Standard $3,945 per 2-core pack.

What is free and what does the full version add?

Free, with no key: every finding and the per-container list-price exposure for the open file, in the editor and in the free web page. The full version, $29 once with one licence key per person or team seat, adds a workspace sweep of every compose, Kubernetes and Dockerfile plus a written Markdown report to hand to a licence auditor.

What does the licence gap cost compared with the tool?

Microsoft publishes the yardstick: SQL Server 2022 list price, Enterprise $15,123 and Standard $3,945 per 2-core pack. So an 8-core production container with MSSQL_PID unset: $60,492 Enterprise or $15,780 Standard, and a 2-CPU Standard container is billed 4 core licences: $7,890. 40 CPUs on Standard 2022: 16 cores that do no work, $31,560. The lint runs free on the open file. The workspace sweep and report cost $29 once.

Why not just ask ChatGPT or another AI chat?

A general AI chat answers from training data with a cutoff date, cannot read your repository and names no rule version. SQL Server Docker Licence Lint (MSSQL_PID) checks the file you open against 13 rules, each naming its legal or official basis, from a rule set dated 2026-09-27, and points at the exact line. For a filing, an audit or a client you need that dated result on your own files.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.