Aquí le mostraré cómo poner en funcionamiento SQL Server en su Mac en menos de media hora. Y lo mejor es que tendrá SQL Server ejecutándose localmente sin necesidad de ningún software de virtualización.
Antes de SQL Server 2017, si deseaba ejecutar SQL Server en su Mac, primero tenía que crear una máquina virtual (usando VirtualBox, Parallels Desktop, VMware Fusion o Bootcamp), luego instalar Windows en esa VM y finalmente SQL Server . Esta sigue siendo una opción válida según sus requisitos (aquí se explica cómo instalar SQL Server en una Mac con VirtualBox si desea probar ese método).
A partir de SQL Server 2017, ahora puede instalar SQL Server directamente en una máquina Linux. Y debido a que macOS está basado en Unix (y Linux está basado en Unix), puede ejecutar SQL Server para Linux en su Mac. La forma de hacerlo es ejecutar SQL Server en Docker.
Así que sigamos adelante e instalemos Docker. Luego, descargaremos e instalaremos SQL Server.
Pero primero… si usa una Mac con el chip M1, consulte Cómo instalar SQL Server en una Mac M1 (ARM64).
-
Instalar Docker
Descargue la (gratuita) Docker Community Edition para Mac (a menos que ya la tenga instalada en su sistema). Esto le permitirá ejecutar SQL Server desde un contenedor Docker.
Para descargar, visite la página de descarga de Docker CE para Mac y haga clic en Obtener Docker .
Para instalar, haga doble clic en .dmg y luego arrastre el Docker.app icono de su Solicitud carpeta.
¿Qué es Docker?
Docker es una plataforma que permite que el software se ejecute en su propio entorno aislado. SQL Server (desde 2017) se puede ejecutar en Docker en su propio contenedor aislado. Una vez que Docker esté instalado, simplemente descargue, o "extraiga", SQL Server en Linux Docker Image a su Mac, luego ejecútelo como un contenedor de Docker. Este contenedor es un entorno aislado que contiene todo lo que SQL Server necesita para ejecutarse.
-
Iniciar ventana acoplable
Inicie Docker de la misma manera que iniciaría cualquier otra aplicación (p. ej., a través de la carpeta Aplicaciones, el Launchpad, etc.).
Cuando abra Docker, es posible que se le solicite su contraseña para que Docker pueda instalar sus componentes de red y enlaces a las aplicaciones de Docker. Continúe y proporcione su contraseña, ya que Docker necesita esto para ejecutarse.
-
Aumentar la memoria (opcional)
De forma predeterminada, Docker puede tener asignados 2 GB de memoria. SQL Server necesita al menos 2 GB. Sin embargo, no te hará daño aumentarlo si puedes.
En mi caso lo aumenté a 4GB.
Para hacer esto, seleccione Preferencias desde el pequeño icono de Docker en el menú superior:
Luego en los Recursos> Avanzado pantalla, deslice el control deslizante de memoria hasta al menos 4 GB:
Luego termine haciendo clic en Aplicar y reiniciar
-
Descargar Servidor SQL
Ahora que Docker está instalado, podemos descargar e instalar SQL Server para Linux.
Abra una ventana de Terminal y ejecute el siguiente comando.
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Esto descarga la última imagen de Docker de SQL Server 2019 para Linux en su computadora.
También puede buscar la última versión del contenedor en el sitio web de Docker si lo desea.
-
Ejecutar la imagen de Docker
Ejecute el siguiente comando para iniciar una instancia de la imagen de Docker que acaba de descargar:
docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest
Eso sí, utiliza tu propio nombre y contraseña. Además, si descargó una imagen de Docker diferente, reemplace
mcr.microsoft.com/mssql/server:2019-latest
con el que descargaste.Aquí hay una explicación de los parámetros:
-d
Este parámetro opcional inicia el contenedor Docker en modo daemon. Esto significa que se ejecuta en segundo plano y no necesita abrir su propia ventana de Terminal. Puede omitir este parámetro para que el contenedor se ejecute en su propia ventana de Terminal. --name sql_server_demo
Otro parámetro opcional. Este parámetro le permite nombrar el contenedor. Esto puede ser útil al detener e iniciar su contenedor desde la Terminal. -e 'ACCEPT_EULA=Y'
El Y
muestra que está de acuerdo con el EULA (Acuerdo de licencia de usuario final). Esto es necesario para que SQL Server para Linux se ejecute en su Mac.-e 'SA_PASSWORD=reallyStrongPwd123'
Parámetro obligatorio que establece el sa
contraseña de la base de datos.-p 1433:1433
Esto asigna el puerto local 1433 al puerto 1433 en el contenedor. Este es el puerto TCP predeterminado que usa SQL Server para escuchar las conexiones. mcr.microsoft.com/mssql/server:2019-latest
Esto le dice a Docker qué imagen usar. Si descargó uno diferente, utilícelo en su lugar. Potencia de la contraseña
Si recibe el siguiente error en este paso, inténtelo de nuevo, pero con una contraseña más segura.
Microsoft(R) SQL Server(R) setup failed with error code 1. Please check the setup log in /var/opt/mssql/log for more information.
Recibí este error al usar
reallyStrongPwd
como la contraseña (pero por supuesto, es no una contraseña realmente fuerte!). Pude superar esto agregando algunos números al final. Sin embargo, si no fuera solo una demostración, definitivamente la haría más fuerte que algunas palabras y números del diccionario. -
Verifique el contenedor Docker (opcional)
Puede escribir el siguiente comando para comprobar que el contenedor Docker se está ejecutando.
docker ps
Si está en funcionamiento, debería devolver algo como esto:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4e4aa21eb391 mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/sqls…" 23 seconds ago Up 21 seconds 0.0.0.0:1433->1433/tcp sql_server_demo
-
Instalar sql-cli (a menos que ya esté instalado)
Ejecute el siguiente comando para instalar la herramienta de línea de comandos sql-cli. Esta herramienta le permite ejecutar consultas y otros comandos en su instancia de SQL Server.
npm install -g sql-cli
Esto supone que tiene NodeJs instalado. Si no lo hace, primero descárguelo de Nodejs.org. La instalación de NodeJs instalará automáticamente npm que es lo que usamos en este comando para instalar sql-cli.
¿Error de permisos?
Si obtiene un error, y parte de él dice algo como
Intente ejecutar este comando nuevamente como raíz/Administrador
, inténtelo de nuevo, pero esta vez antepongasudo
a su orden:sudo npm install -g sql-cli
-
Conectarse a SQL Server
Ahora que sql-cli está instalado, podemos comenzar a trabajar con SQL Server a través de la ventana Terminal en nuestra Mac.
Conéctese a SQL Server usando
mssql
comando, seguido de los parámetros de nombre de usuario y contraseña.mssql -u sa -p reallyStrongPwd123
Deberías ver algo como esto:
Connecting to localhost...done sql-cli version 0.6.0 Enter ".help" for usage hints. mssql>
Esto significa que se ha conectado con éxito a su instancia de SQL Server.
-
Ejecutar una prueba rápida
Ejecute una prueba rápida para verificar que SQL Server esté funcionando y pueda consultarlo.
Por ejemplo, puede ejecutar el siguiente comando para ver qué versión de SQL Server está ejecutando:
select @@version
Si se está ejecutando, debería ver algo como esto (pero, por supuesto, esto dependerá de la versión que esté ejecutando):
+--------------------+ | (No column name) | |--------------------| | Microsoft SQL Server 2019 (RTM-CU3) (KB4538853) - 15.0.4023.6 (X64) Mar 4 2020 00:59:26 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS) | +--------------------+ (1 row affected)
Si ve un mensaje como este, felicidades:¡SQL Server ya está funcionando en su Mac!
Ahora puede continuar y ejecutar consultas SQL contra SQL Server.
Consulte mi Tutorial de SQL gratuito para principiantes para comenzar a escribir consultas simples en SQL Server.
Una GUI de SQL Server para su Mac:Azure Data Studio

Azure Data Studio (anteriormente SQL Operations Studio) es una herramienta de administración de GUI gratuita que puede usar para administrar SQL Server en su Mac. Puede usarlo para crear y administrar bases de datos, escribir consultas, respaldar y restaurar bases de datos y más.
Azure Data Studio está disponible en Windows, Mac y Linux.
Aquí hay algunos artículos/tutoriales que he escrito para Azure Data Studio:
- Qué es Azure Data Studio
- Cómo instalar Azure Data Studio en tu Mac
- Cómo crear una base de datos con Azure Data Studio
- Cómo restaurar una base de datos con Azure Data Studio en una Mac
Otra GUI gratuita de SQL Server:DBeaver
Otra herramienta GUI de SQL Server que puede usar en su Mac (y Windows/Linux/Solaris) es DBeaver.
DBeaver es una herramienta gratuita de gestión de bases de datos de código abierto que se puede utilizar en la mayoría de los sistemas de gestión de bases de datos (como MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby y más ).

Escribí una pequeña introducción a DBeaver, o puede ir directamente a la página de descarga de DBeaver y probarlo con su nueva instalación de SQL Server.
Limitaciones de SQL Server para Linux/Mac
SQL Server para Linux tiene algunas limitaciones en comparación con las ediciones de Windows (aunque esto podría cambiar con el tiempo). La versión de Linux no incluye muchos de los servicios adicionales que están disponibles en la versión de Windows, como Analysis Services, Reporting Services, etc. Aquí hay una lista de lo que está disponible y lo que no está en SQL Server 2017 para Linux y aquí está la lista de Microsoft de Ediciones y características compatibles de SQL Server 2019 en Linux.
Otra limitación es que SQL Server Management Studio no está disponible en Mac o Linux. SSMS es una administración de GUI completa para SQL Server y proporciona muchas más funciones que Azure Data Studio y DBeaver (al menos en el momento de escribir este artículo). Todavía puede usar SSMS en una máquina con Windows para conectarse a SQL Server en una máquina con Linux o Mac, pero no puede instalarlo localmente en la máquina con Linux o Mac.
Si necesita alguna de las características que no son compatibles con SQL Server para Linux, necesitará SQL Server para Windows. Sin embargo, aún puede ejecutar SQL Server para Windows en su Mac mediante el uso de un software de virtualización. Aquí se explica cómo instalar SQL Server para Windows en una Mac usando VirtualBox.