Anteriormente expliqué cómo instalar SQL Server en una Mac a través de un contenedor Docker. Cuando escribí eso, SQL Server 2017 era la última versión de SQL Server y acababa de estar disponible para Linux y Docker (lo que significa que también puede instalarlo en sistemas MacOS).
A fines de 2018, Microsoft anunció SQL Server 2019 Preview y, posteriormente, anunció el lanzamiento general a fines de 2019. El proceso de instalación de SQL Server 2019 es exactamente el mismo que el de SQL Server 2017. La única diferencia es que debe usar la imagen del contenedor para SQL Server 2019 en lugar de la imagen de 2017. Aquí te muestro cómo hacerlo.
Además, si ya tiene instalado SQL Server 2017 y desea instalar SQL Server 2019 sin eliminar la versión 2017, deberá asignar un número de puerto diferente en su host. También te muestro cómo hacerlo.
Pero primero… si usa una Mac con el chip M1, consulte Cómo instalar SQL Server en una Mac M1 (ARM64).
Docker
El primer paso es instalar Docker. Si ya tiene Docker instalado, puede omitir este paso (y pasar directamente a SQL Server).
Docker es una plataforma que permite que el software se ejecute en su propio entorno aislado. Por lo tanto, SQL Server 2019 se puede ejecutar en Docker en su propio contenedor aislado.
-
Instalar 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.
-
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 tendrá asignados 2 GB de memoria. Te sugiero aumentarlo a 4 GB si puedes.
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
Servidor SQL
Ahora que Docker se ha instalado y configurado, podemos descargar e instalar SQL Server 2019.
-
Descargar SQL Server 2019
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 para Linux en su computadora.
También puede consultar las diversas opciones de imagen de 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:
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1433:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
Solo cambia
Bart
a un nombre de su elección, yreallyStrongPwd#123
a una contraseña de su elección.Si obtiene un error de "puerto ya asignado", consulte a continuación.
Aquí hay una explicación de los parámetros:
-e 'ACCEPT_EULA=Y'
- El
Y
muestra que está de acuerdo con el EULA (Acuerdo de licencia de usuario final). Esto es obligatorio. -e 'SA_PASSWORD=reallyStrongPwd#123'
- 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. El primer valor es el puerto TCP en el entorno del host. El segundo valor es el puerto TCP en el contenedor.
--name Bart
- 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. Es posible que prefiera darle un nombre más descriptivo como
sql_server_2019
o similar. -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.
mcr.microsoft.com/mssql/server:2019-latest
- Esto le dice a Docker qué imagen usar.
Potencia de la contraseña
Necesitas usar una contraseña segura. Microsoft dice esto sobre la contraseña:
La contraseña debe seguir la política de contraseña predeterminada de SQL Server; de lo contrario, el contenedor no puede configurar el servidor SQL y dejará de funcionar. De forma predeterminada, la contraseña debe tener al menos 8 caracteres y contener caracteres de tres de los cuatro conjuntos siguientes:letras mayúsculas, letras minúsculas, dígitos de base 10 y símbolos.
Error:"¿Puerto ya asignado"?
Si recibe un error que dice algo como "el puerto ya está asignado", entonces quizás ya tenga SQL Server instalado en otro contenedor que usa ese puerto. En este caso, deberá asignar a un puerto diferente en el host.
Por lo tanto, podría cambiar el comando anterior a algo como esto:
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1400:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
En este caso simplemente cambié
-p 1433:1433
a-p 1400:1433
. Todo lo demás sigue igual.Es posible que ahora reciba un error que indique que primero debe eliminar el contenedor existente. Para hacer eso, ejecute lo siguiente (pero cambie
Bart
con el nombre de su propio contenedor):sudo docker rm Bart
Una vez eliminado, puede intentar ejecutar el comando anterior nuevamente.
Tenga en cuenta que si cambia el puerto como lo he hecho aquí, probablemente necesitará incluir el número de puerto cuando se conecte a SQL Server desde cualquier herramienta de base de datos de su escritorio. Por ejemplo, cuando se conecta a través de Azure Data Studio (mencionado a continuación), puede conectarse usando
Localhost,1400
en lugar de soloLocalhost
. Lo mismo con mssql-cli, que es una herramienta SQL de línea de comandos.
Revisar todo
Ahora que hemos hecho eso, deberíamos estar listos para comenzar. Repasemos y hagamos algunas comprobaciones.
-
Verifique el contenedor Docker (opcional)
Puede escribir el siguiente comando para comprobar que el contenedor Docker se está ejecutando.
sudo docker ps -a
En mi caso me sale esto:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c1b060f68fcb mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/sqls…" About a minute ago Up About a minute 0.0.0.0:1400->1433/tcp Bart fdec67e6a28d microsoft/mssql-server-linux "/opt/mssql/bin/sqls…" 4 months ago Up 8 days 0.0.0.0:1433->1433/tcp Homer
Esto me dice que tengo dos contenedores docker funcionando:uno llamado Bart y el otro llamado Homero .
-
Conectarse a SQL Server
Aquí usamos la herramienta de línea de comandos de SQL Server llamada "sqlcmd" dentro del contenedor para conectarnos a SQL Server.
sudo docker exec -it Bart "bash"
Introduzca su contraseña si se le solicita.
Ahora que está dentro del contenedor, conéctese localmente con sqlcmd:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
Esto debería llevarlo al indicador de sqlcmd 1> .
-
Ejecutar una prueba rápida
Ejecute una prueba rápida para verificar que SQL Server esté funcionando. Por ejemplo, verifique la versión de SQL Server ingresando esto:
SELECT @@version
Esto lo llevará a un símbolo del sistema 2> en la línea siguiente. Para ejecutar la consulta, ingrese:
GO
Resultado:
+--------------------+ | (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!
Si prefiere usar una GUI para administrar SQL Server, siga leyendo.
Azure Data Studio
Azure Data 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.