Mientras escribo esto, hay dos versiones de SQL Server que se pueden ejecutar en una Mac:SQL Server 2017 y SQL Server 2019 Preview. Este artículo explica cómo ejecutar ambos en una Mac para que se ejecuten simultáneamente. No es necesario desinstalar uno antes de instalar el otro.
La clave es usar un número de puerto TCP diferente para cada instancia (el puerto TCP al que se asignan los contenedores en la máquina host). Si no hace esto, obtendrá un error. SQL Server usa el puerto 1433 de manera predeterminada, lo cual está bien para una de sus instancias, pero no para ambas. Por lo tanto, deberá cambiar esto para al menos una de sus instalaciones.
Descargar Servidor SQL
Estas instrucciones asumen que tiene Docker instalado y ejecutándose en su Mac. Necesita Docker para ejecutar SQL Server en su Mac (a menos que elija instalarlo en Windows a través de una VM, pero eso no es lo que estamos haciendo aquí). Si no tiene Docker, vaya a la sección "Instrucciones detalladas" al final de este artículo.
Para descargar la última imagen de SQL Server 2017, ejecute el siguiente comando:
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
Para descargar la versión preliminar de SQL Server 2019, ejecute el siguiente comando:
sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
Tenga en cuenta que esta es la última versión en el momento de escribir este artículo. Para obtener la imagen más reciente, consulte el repositorio oficial de SQL Server en el sitio web de Docker.
Ejecutar los Contenedores
Ahora que se han descargado ambas imágenes del contenedor, ejecute los siguientes comandos:
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=BigStrong#Pwd2017" -p 1401:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=BigStrong#Pwd2019" -p 1402:1433 --name sql2 -d mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
Cambie el nombre y la contraseña por los suyos propios. Además, si está utilizando una versión diferente, cambie la ruta en consecuencia.
En este caso, creo un contenedor de SQL Server 2017 y un contenedor de SQL Server 2019, y los asigno a los puertos TCP 1401 y 1402 en la máquina host. En ambos casos, SQL Server escucha en el puerto 1433 del contenedor.
Eso es todo. ¡Ahora debería tener SQL Server 2017 y SQL Server 2019 ejecutándose simultáneamente en su Mac!
Conectarse a sus instancias de SQL Server
Deberá agregar el número de puerto cuando se conecte a cada instancia. Este es un ejemplo del uso de la herramienta de línea de comandos mssql-cli para conectarse a la instancia de SQL Server 2017:
mssql-cli -S Localhost,1401 -U sa -P BigStrong#Pwd2017
Algunas herramientas GUI pueden tener un campo separado para el puerto. De lo contrario, debería poder usar el mismo Localhost,1401 formato.
Instrucciones detalladas
Las instrucciones anteriores asumen que tiene Docker en su Mac y que ya tiene algún conocimiento sobre cómo instalar y conectarse a SQL Server en una Mac. Si no es así, los dos artículos siguientes deberían ser de ayuda.
-
Instalar SQL Server (2017) en una Mac
Este artículo muestra cómo instalar SQL Server utilizando la configuración de puerto predeterminada (1433:1433). Incluye la instalación de Docker y la conexión a SQL Server desde una interfaz de línea de comandos, así como enlaces a herramientas GUI.
- Este artículo muestra cómo instalar SQL Server usando un puerto diferente (1400:1433). En realidad, comienza en el puerto predeterminado pero luego le muestra el error que obtendría si intenta ejecutar dos instancias en el mismo puerto. Luego muestra cómo cambiar ese puerto (al igual que en el ejemplo anterior). Este artículo también incluye la instalación de Docker y la conexión a SQL Server desde una interfaz de línea de comandos, así como enlaces a herramientas GUI.