sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo instalar SQL Server en una Mac M1 (ARM64)

Anteriormente expliqué cómo instalar SQL Server en una Mac usando la imagen Docker de SQL Server para Linux.

Desde entonces, Apple ha lanzado su chip M1, que utiliza arquitectura ARM. Esto puede causar un problema al intentar instalar SQL Server. El problema es que, en el momento de escribir este artículo, SQL Server no es compatible con la arquitectura ARM.

Afortunadamente, hay una alternativa.

La imagen del contenedor para Azure SQL Edge se puede instalar en la Mac M1. Por lo tanto, podemos usar esa imagen en lugar de la imagen de SQL Server.

Azure SQL Edge es un motor de base de datos relacional optimizado para implementaciones de IoT y IoT Edge. Se basa en las últimas versiones del motor de base de datos de SQL Server, por lo que puede usar el código T-SQL tal como lo haría cuando usa SQL Server. También puede usar las mismas herramientas para consultar Azure SQL Edge que usaría con SQL Server (como SSMS, Azure Data Studio, etc.).

En este artículo, instalo Developer Edition de Azure SQL Edge en una Mac con el chip M1.

Instalar Docker

Dado que estamos instalando SQL Edge a través de un contenedor Docker, necesitamos tener Docker instalado.

Si aún no tiene Docker, descárguelo e instálelo de la siguiente manera:

  1. Descargue Docker desde el sitio web de Docker. Asegúrese de descargar el de M1 Mac (el botón se llamaba Mac with Apple Chip cuando lo descargué).
  2. Una vez descargado, abra el .dmg archivo y arrastre el ícono de Docker.app a su carpeta de Aplicaciones como se indica.
  3. 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. Continúe y proporcione su contraseña, ya que Docker necesita esto para ejecutarse.

Instalar Azure SQL Edge

Ahora que Docker está instalado, podemos continuar e instalar Azure SQL Edge. Como se mencionó, esto usa el motor de base de datos de SQL Server y, por lo tanto, podemos usarlo para ejecutar consultas T-SQL, etc., como si estuviéramos consultando SQL Server.

Abra una ventana de Terminal y ejecute el siguiente comando:

docker pull mcr.microsoft.com/azure-sql-edge

Eso extrae/descarga la imagen del contenedor a su máquina local.

También puede consultar las opciones de contenedor en el sitio web de Docker si lo prefiere.

Una vez que se complete la descarga, ejecute el siguiente comando para iniciar una instancia de la imagen de Docker que acaba de descargar:

sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge

Asegúrese de cambiar bigStrongPwd a una contraseña segura de su elección. También puede cambiar el valor de --name parámetro si lo desea.

De forma predeterminada, el contenedor se ejecuta con Developer Edition. Puede ejecutar la Edición Premium agregando -e 'MSSQL_PID=Premium' .

Comprobar el contenedor Docker

Podemos usar el siguiente comando para verificar si el contenedor está en funcionamiento:

docker ps

Resultado:

a190dd199b17   mcr.microsoft.com/azure-sql-edge   "/opt/mssql/bin/perm…"   10 seconds ago   Up 9 seconds   1401/tcp, 0.0.0.0:1433->1433/tcp   sqledge

Esto me muestra que el contenedor está, de hecho, en funcionamiento.

Si, por alguna razón, su contenedor no está en funcionamiento, intente con el siguiente comando:

docker start sqledge

Reemplazar sqledge con el nombre de su contenedor.

Con el contenedor en funcionamiento, ahora podemos continuar y conectarnos a SQL Edge.

Conéctese a SQL Edge

Ahora puede conectarse a su instalación de Azure SQL Edge utilizando los detalles proporcionados al iniciar la imagen de Docker.

Aquí hay una captura de pantalla de la conexión a Azure SQL Edge a través de Azure Data Studio:

Aquí se explica cómo instalar Azure Data Studio en una Mac.

Microsoft afirma que Azure Data Studio "actualmente no es compatible con la arquitectura ARM", pero no tuve ningún problema para instalarlo en mi Mac M1 (es decir, con arquitectura ARM).

Ejecutar consultas SQL

Una vez conectado a SQL Edge, puede crear bases de datos, ejecutar consultas T-SQL, etc. (T-SQL es la extensión de SQL Server para SQL).

Consulte mi tutorial de SQL para ponerse al día con la ejecución de consultas SQL.

Características admitidas en SQL Edge

Debo mencionar que algunas funciones de SQL Server no son compatibles con SQL Edge. Azure SQL Edge admite un subconjunto de las características compatibles con SQL Server 2019 en Linux.

Dicho esto, SQL Edge tiene algunas características que no están disponibles en SQL Server (como el DATE_BUCKET() función).

Consulte Funciones admitidas de Azure SQL Edge en el sitio web de Microsoft para obtener un desglose completo.