Configuración de opciones de SQL Server con variables de entorno en Linux

Se aplica a:SQL Server en Linux

Puede usar varias variables de entorno diferentes para configurar SQL Server en Linux. Estas variables se usan en dos escenarios:

Sugerencia

Para configurar SQL Server después de estos escenarios de instalación, consulte Configure SQL Server en Linux con la herramienta mssql-conf.

Variables de entorno

Variable de entorno Descripción
ACCEPT_EULA Establece la variable ACCEPT_EULA en cualquier valor para confirmar la aceptación del Acuerdo de Licencia de Usuario Final. Configuración requerida para la imagen de SQL Server.
MSSQL_SA_PASSWORD Configura la sa contraseña.

La variable de entorno SA_PASSWORD está en desuso. En su lugar, use MSSQL_SA_PASSWORD.
MSSQL_DB Establece el nombre de una base de datos que se va a crear al iniciar el contenedor.
MSSQL_USER Si MSSQL_DB se establece, define el nombre de un usuario no-sa para crear al inicio del contenedor. Al usuario se le conceden derechos de acceso en la MSSQL_DB base de datos. Si se usa esta variable, MSSQL_PASSWORD también debe establecerse. Si MSSQL_DB no se establece, esta variable se omite.
MSSQL_PASSWORD Establece la contraseña del usuario cuyo nombre está en MSSQL_USER. Si se usa esta variable, MSSQL_USER también debe establecerse. Si MSSQL_DB no se establece, esta variable se omite.
MSSQL_PID Establece la SQL Server edition o clave de producto. Los valores posibles se enumeran en la siguiente tabla de ediciones de SQL Server . Si especifica una clave de producto, debe estar en forma de #####-#####-#####-#####-#####, donde # es un número o una letra.
MSSQL_LCID Establece el identificador de idioma que se usará para SQL Server. Por ejemplo, 1036 es francés.
MSSQL_COLLATION Establece la intercalación predeterminada para SQL Server. Este ajuste invalida la asignación predeterminada del identificador de idioma (LCID) a la ordenación.
MSSQL_MEMORY_LIMIT_MB Establece la cantidad máxima de memoria (en MB) que puede usar SQL Server. De forma predeterminada, es el 80 % de la memoria física total.
MSSQL_TCP_PORT Configura el puerto TCP en el que SQL Server escucha (valor predeterminado 1433).
MSSQL_IP_ADDRESS Establece la dirección IP. Actualmente, la dirección IP debe ser de estilo IPv4 (0.0.0.0).
MSSQL_BACKUP_DIR Establece la ubicación predeterminada del directorio de copia de seguridad.
MSSQL_DATA_DIR Cambia el directorio donde se crean los nuevos archivos de datos de base de datos de SQL Server (.mdf).
MSSQL_LOG_DIR Cambia el directorio donde se crean los nuevos archivos de registro de base de datos de SQL Server (.ldf).
MSSQL_DUMP_DIR Cambia el directorio en el que SQL Server deposita los volcados de memoria y otros archivos de solución de problemas de forma predeterminada.
MSSQL_ENABLE_HADR Habilita los grupos de disponibilidad. Por ejemplo, 1 habilita y 0 deshabilita la característica.
MSSQL_AGENT_ENABLED Habilita Agente SQL Server. Por ejemplo, true habilita y false deshabilita el agente. De forma predeterminada, el agente está deshabilitado.
MSSQL_MASTER_DATA_FILE Establece la ubicación del archivo de datos de la base de datos master. Debe denominarse master.mdf hasta la primera ejecución de SQL Server.
MSSQL_MASTER_LOG_FILE Establece la ubicación del archivo de registro de la base de datos master. Debe denominarse mastlog.ldf hasta la primera ejecución de SQL Server.
MSSQL_ERROR_LOG_FILE Establece la ubicación de los archivos errorlog. Por ejemplo, /var/opt/mssql/log/errorlog.

Ediciones de SQL Server

MSSQL_PID Edición
Evaluation Edición de evaluación de SQL Server
Developer SQL Server Edición para Desarrolladores
Express SQL Server Edición Express
Web Edición web de SQL Server
Standard Edición Estándar de SQL Server
Enterprise Esta opción heredada representa licencias basadas en Enterprise Edition Server + Client Access License (CAL) y se limita a un máximo de 20 núcleos por instancia de SQL Server. Enterprise no está disponible para nuevos acuerdos. Debe elegir EnterpriseCore cuándo desea implementar Enterprise Edition.
EnterpriseCore SQL Server Enterprise Core Edition. EnterpriseCore representa el modelo de licencias de servidor basado en núcleo sin límites de núcleos. Para obtener más información, vea Límites de la capacidad de cálculo de cada edición de SQL Server.
A product key Si especifica una clave de producto, debe estar en forma de #####-#####-#####-#####-#####, donde # es un número o una letra.

Para obtener más información sobre estas ediciones, vea Ediciones de SQL Server.

MSSQL_PID Edición
Evaluation Edición de evaluación de SQL Server
Express SQL Server Edición Express
StandardDeveloper Edición para Desarrolladores Estándar de SQL Server
Standard Edición Estándar de SQL Server
EnterpriseDeveloper SQL Server Enterprise Developer Edition
Enterprise Esta opción heredada representa licencias basadas en Enterprise Edition Server + Client Access License (CAL) y se limita a un máximo de 20 núcleos por instancia de SQL Server. Enterprise no está disponible para nuevos acuerdos. Debe elegir EnterpriseCore cuándo desea implementar Enterprise Edition.
EnterpriseCore SQL Server Enterprise Core Edition. EnterpriseCore representa el modelo de licencias de servidor basado en núcleo sin límites de núcleos. Para obtener más información, vea Límites de la capacidad de cálculo de cada edición de SQL Server.
A product key Si especifica una clave de producto, debe estar en forma de #####-#####-#####-#####-#####, donde # es un número o una letra.

Para obtener más información sobre estas ediciones, vea Ediciones de SQL Server.

Uso con la configuración inicial

En este ejemplo se ejecuta mssql-conf setup con variables de entorno configuradas. Se especifican las siguientes variables de entorno:

  • ACCEPT_EULA acepta el acuerdo de licencia de usuario final.

  • MSSQL_PID especifica la edición para desarrolladores con licencia gratuita de SQL Server para su uso en entornos que no son de producción.

  • MSSQL_SA_PASSWORD establece una contraseña segura. La contraseña debe seguir la directiva de contraseña predeterminada de SQL Server. De forma predeterminada, la contraseña debe tener al menos ocho caracteres y contener caracteres de tres de los siguientes cuatro conjuntos: mayúsculas, minúsculas, dígitos en base 10 y símbolos. Las contraseñas pueden tener hasta 128 caracteres. Use contraseñas lo más largas y complejas posible.

  • MSSQL_TCP_PORT establece el puerto TCP en el que SQL Server escucha a 1234.

sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<password>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

Uso con Docker

Este comando de docker de ejemplo usa las siguientes variables de entorno para crear un contenedor de SQL Server:

  • ACCEPT_EULA acepta el acuerdo de licencia de usuario final.

  • MSSQL_PID especifica la edición para desarrolladores con licencia gratuita de SQL Server para su uso en entornos que no son de producción.

  • MSSQL_SA_PASSWORD establece una contraseña segura. La contraseña debe seguir la directiva de contraseña predeterminada de SQL Server. De forma predeterminada, la contraseña debe tener al menos ocho caracteres y contener caracteres de tres de los siguientes cuatro conjuntos: mayúsculas, minúsculas, dígitos en base 10 y símbolos. Las contraseñas pueden tener hasta 128 caracteres. Use contraseñas lo más largas y complejas posible.

  • MSSQL_TCP_PORT establece el puerto TCP en el que SQL Server escucha a 1234. Esto significa que, en lugar de asignar el puerto 1433 (predeterminado) a un puerto de host, el puerto TCP personalizado se debe asignar con el comando -p 1234:1234 en este ejemplo.

Si ejecuta Docker en Linux, use la siguiente sintaxis con comillas simples:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<password>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Si ejecuta Docker en Windows, use la siguiente sintaxis con comillas dobles:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Nota

El proceso para ejecutar las ediciones de producción en contenedores es ligeramente diferente. Para obtener más información, vea Ejecutar imágenes de contenedor de producción.

Si ejecuta Docker en Linux, use la siguiente sintaxis con comillas simples:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<password>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Si ejecuta Docker en Windows, use la siguiente sintaxis con comillas dobles:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Si ejecuta Docker en Linux, use la siguiente sintaxis con comillas simples:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<password>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Si ejecuta Docker en Windows, use la siguiente sintaxis con comillas dobles:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Si ejecuta Docker en Linux, use la siguiente sintaxis con comillas simples:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<password>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2025-latest

Si ejecuta Docker en Windows, use la siguiente sintaxis con comillas dobles:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2025-latest

Precaución

La contraseña debe seguir la directiva de contraseña predeterminada de SQL Server. De forma predeterminada, la contraseña debe tener al menos ocho caracteres y contener caracteres de tres de los siguientes cuatro conjuntos: mayúsculas, minúsculas, dígitos en base 10 y símbolos. Las contraseñas pueden tener hasta 128 caracteres. Use contraseñas lo más largas y complejas posible.

Contribuya a la documentación de SQL

¿Sabía que puede editar el contenido de SQL usted mismo? Si lo hace, no solo contribuirá a mejorar la documentación, sino que también se le reconocerá como colaborador de la página.

Para obtener más información, consulte Editar documentación de Microsoft Learn.