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

Come eseguire SQL Server 2017 e 2019 contemporaneamente su un Mac

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.

  • Installa SQL Server 2019 su un Mac

  • 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.