4

I hear that the new Standard Developer edition is available in the current SQL Server 2025 preview. But how can I get it in Docker? SQL Server 2022's documentation shows us how to specify specific editions when creating a container.

docker run --name sqlenterprise \
-e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-e 'MSSQL_PID=EnterpriseCore' -p 1433:1433 \
-d mcr.microsoft.com/mssql/server:2022-latest

but what -e do I used for Standard Developer? In other words, what goes here?

docker pull mcr.microsoft.com/mssql/server:2025-latest

docker run -e "ACCEPT_EULA=Y"
-e "MSSQL_SA_PASSWORD=YourPasswordMake~TSp3cial"
-e "MSSQL_PID=?????????????????????????????????????????????"
-p 1433:1433
--name sql2025P1 --hostname sql2025P1
-d mcr.microsoft.com/mssql/server:2025-latest

docker start sql2025P1

J. Mini
  • 1,161
  • 8
  • 32

3 Answers3

6

developerstandard does it. I guessed this with help from Sean Gallardy. I know of no documentation or official way to find this out. For example,

docker pull mcr.microsoft.com/mssql/server:2025-latest

docker run -e "ACCEPT_EULA=Y"
-e "MSSQL_SA_PASSWORD=YourPasswordMake~TSp3cial"
-e "MSSQL_PID=developerstandard"
-p 1433:1433
--name sql2025P1 --hostname sql2025P1
-d mcr.microsoft.com/mssql/server:2025-latest

docker start sql2025P1

You can verify that this has worked by running

SELECT SERVERPROPERTY('edition')

SELECT SERVERPROPERTY('edition')

Similarly, we can see that Enterprise-level features are forbidden. The following

SELECT TOP (5) *
INTO Whatever
FROM sys.messages;
GO

ALTER TABLE Whatever ADD CONSTRAINT Pk_Online_Is_Not_In_Standard PRIMARY KEY (Id) WITH (ONLINE = ON);

complains

Msg 1712, Level 16, State 3, Line 1

Online index operations can only be performed in Enterprise edition of SQL Server or Azure SQL Edge.

J. Mini
  • 1,161
  • 8
  • 32
1

Environment variables used to configure SQL Server on Linux and Docker are documented here. The MSSQL_PID value for Developer edition is unsurprisingly "Developer".

Dan Guzman
  • 28,989
  • 2
  • 46
  • 71
0

So far as I can tell, there isn't a PID value for the new standard developer edition yet. At least, nothing documented. I've been trying to find one too. The only options right now are;

  • Evaluation
  • Developer
  • Express
  • Web
  • Standard
  • Enterprise
  • EnterpriseCore

Or if you don't specify anything, it defaults to Developer.

C.T
  • 1