Mentre scrivo, ci sono due versioni di SQL Server che possono essere eseguite su un Mac:SQL Server 2017 e SQL Server 2019 Preview. Questo articolo spiega come eseguire entrambi su un Mac in modo che vengano eseguiti contemporaneamente. Non è necessario disinstallarne uno prima di installare l'altro.
La chiave è utilizzare un numero di porta TCP diverso per ciascuna istanza (la porta TCP a cui sono mappati i contenitori sulla macchina host). Se non lo fai, riceverai un errore. SQL Server utilizza la porta 1433 per impostazione predefinita, che va bene da usare per una delle tue istanze, ma non per entrambe. Pertanto dovrai cambiarlo per almeno una delle tue installazioni.
Scarica SQL Server
Queste istruzioni presuppongono che Docker sia installato e in esecuzione sul tuo Mac. Hai bisogno di Docker per eseguire SQL Server sul tuo Mac (a meno che tu non scelga di installarlo su Windows tramite una VM, ma non è quello che stiamo facendo qui). Se non hai Docker, passa alla sezione "Istruzioni dettagliate" in fondo a questo articolo.
Per scaricare l'ultima immagine di SQL Server 2017, eseguire il comando seguente:
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
Per scaricare SQL Server 2019 Preview, eseguire il comando seguente:
sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
Si noti che questa è l'ultima versione al momento della scrittura. Per l'immagine più recente, controlla il repository ufficiale di SQL Server sul sito Web Docker.
Esegui i container
Ora che entrambe le immagini del contenitore sono state scaricate, esegui i seguenti comandi:
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
Cambia il nome e la password con i tuoi. Inoltre, se stai utilizzando una versione diversa, modifica il percorso di conseguenza.
In questo caso, creo un contenitore SQL Server 2017 e un contenitore SQL Server 2019 e li mappa alle porte TCP 1401 e 1402 sul computer host. In entrambi i casi, SQL Server è in ascolto sulla porta 1433 nel contenitore.
È tutto. Ora dovresti avere SQL Server 2017 e SQL Server 2019 in esecuzione contemporaneamente sul tuo Mac!
Connessione alle istanze di SQL Server
Dovrai aggiungere il numero di porta quando ti connetti a ciascuna istanza. Ecco un esempio di utilizzo dello strumento da riga di comando mssql-cli per la connessione all'istanza di SQL Server 2017:
mssql-cli -S Localhost,1401 -U sa -P BigStrong#Pwd2017
Alcuni strumenti della GUI potrebbero avere un campo separato per la porta. Altrimenti dovresti essere in grado di usare lo stesso Localhost,1401 formato.
Istruzioni dettagliate
Le istruzioni precedenti presuppongono che tu abbia Docker sul tuo Mac e che tu abbia già una certa conoscenza dell'installazione e della connessione a SQL Server su un Mac. In caso contrario, i seguenti due articoli dovrebbero aiutare.
-
Installa SQL Server (2017) su un Mac
Questo articolo illustra come installare SQL Server utilizzando l'impostazione della porta predefinita (1433:1433). Include l'installazione di Docker e la connessione a SQL Server da un'interfaccia a riga di comando, nonché collegamenti a strumenti GUI.
- Questo articolo illustra come installare SQL Server utilizzando una porta diversa (1400:1433). In realtà, inizia sulla porta predefinita ma poi mostra l'errore che otterresti se provi a eseguire due istanze sulla stessa porta. Quindi mostra come cambiare quella porta (proprio come nell'esempio sopra). Questo articolo include anche l'installazione di Docker e la connessione a SQL Server da un'interfaccia a riga di comando, oltre a collegamenti a strumenti GUI.