Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come installare SQL Server su un Mac M1 (ARM64)

In precedenza ho spiegato come installare SQL Server su un Mac utilizzando l'immagine Docker di SQL Server per Linux.

Da allora, Apple ha rilasciato il suo chip M1, che utilizza l'architettura ARM. Ciò può causare un problema quando si tenta di installare SQL Server. Il problema è che, al momento della scrittura, SQL Server non è supportato sull'architettura ARM.

Fortunatamente, c'è un'alternativa.

L'immagine del contenitore per Azure SQL Edge può essere installata nel Mac M1. Pertanto, possiamo usare quell'immagine invece dell'immagine di SQL Server.

Azure SQL Edge è un motore di database relazionale ottimizzato pensato per le distribuzioni IoT e IoT Edge. È basato sulle ultime versioni di Motore di database di SQL Server, quindi puoi usare il codice T-SQL proprio come faresti con SQL Server. Puoi anche utilizzare gli stessi strumenti per eseguire query su Azure SQL Edge che useresti con SQL Server (come SSMS, Azure Data Studio e così via).

In questo articolo installo la Developer Edition di Azure SQL Edge su un Mac con il chip M1.

Installa Docker

Dato che stiamo installando SQL Edge tramite un contenitore Docker, è necessario che Docker sia installato.

Se non hai ancora Docker, scaricalo e installalo come segue:

  1. Scarica Docker dal sito Web Docker. Assicurati di scaricare quello per il Mac M1 (il pulsante si chiamava Mac with Apple Chip quando l'ho scaricato).
  2. Una volta scaricato, apri il .dmg e trascina l'icona Docker.app nella cartella Applicazioni come indicato.
  3. Avvia Docker nello stesso modo in cui avvieresti qualsiasi altra applicazione (ad es. tramite la cartella Applicazioni, il Launchpad, ecc.). Quando apri Docker, ti potrebbe essere richiesta la password. Vai avanti e fornisci la tua password, poiché Docker ha bisogno di questa per funzionare.

Installa Azure SQL Edge

Ora che Docker è installato, possiamo procedere e installare Azure SQL Edge. Come accennato, questo utilizza il motore di database di SQL Server e quindi possiamo usarlo per eseguire query T-SQL, ecc., come se stessimo interrogando SQL Server.

Apri una finestra di Terminale ed esegui il seguente comando:

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

Questo estrae/scarica l'immagine del contenitore sul tuo computer locale.

In alternativa, puoi controllare le opzioni del contenitore sul sito Web Docker, se preferisci.

Una volta completato il download, esegui il comando seguente per avviare un'istanza dell'immagine Docker appena scaricata:

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

Assicurati di cambiare bigStrongPwd a una password complessa a tua scelta. Puoi anche modificare il valore di --name parametro se lo desideri.

Per impostazione predefinita, il contenitore viene eseguito con la Developer Edition. Puoi eseguire l'edizione Premium aggiungendo -e 'MSSQL_PID=Premium' .

Controlla il contenitore Docker

Possiamo usare il seguente comando per verificare se il container è attivo e funzionante:

docker ps

Risultato:

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

Questo mi mostra che il contenitore è effettivamente attivo e funzionante.

Se, per qualche motivo, il tuo container non è attivo e funzionante, prova il seguente comando:

docker start sqledge

Sostituisci sqledge con il nome del tuo contenitore.

Con il container attivo e funzionante, ora possiamo andare avanti e connetterci a SQL Edge.

Connetti a SQL Edge

Ora puoi connetterti all'installazione di Azure SQL Edge usando i dettagli forniti all'avvio dell'immagine Docker.

Ecco uno screenshot della connessione ad Azure SQL Edge tramite Azure Data Studio:

Ecco come installare Azure Data Studio su un Mac.

Microsoft afferma che Azure Data Studio "attualmente non supporta l'architettura ARM", ma non ho avuto problemi a installarlo sul mio Mac M1 (ovvero con architettura ARM).

Esegui query SQL

Una volta connesso a SQL Edge, puoi creare database, eseguire query T-SQL, ecc. (T-SQL è l'estensione di SQL Server a SQL).

Consulta il mio tutorial SQL per essere al passo con l'esecuzione di query SQL.

Funzionalità supportate in SQL Edge

Devo menzionare che alcune funzionalità di SQL Server non sono supportate in SQL Edge. Azure SQL Edge supporta un sottoinsieme delle funzionalità supportate da SQL Server 2019 su Linux.

Detto questo, SQL Edge ha alcune funzionalità che non sono disponibili in SQL Server (come DATE_BUCKET() funzione).

Vedere Funzionalità supportate di Azure SQL Edge nel sito Web di Microsoft per un'analisi completa.