Enquanto escrevo isso, existem duas versões do SQL Server que podem ser executadas em um Mac:SQL Server 2017 e SQL Server 2019 Preview. Este artigo explica como executar ambos em um Mac para que sejam executados simultaneamente. Não há necessidade de desinstalar um antes de instalar o outro.
A chave é usar um número de porta TCP diferente para cada instância (a porta TCP para a qual os contêineres são mapeados na máquina host). Se você não fizer isso, receberá um erro. O SQL Server usa a porta 1433 por padrão, o que pode ser usado para uma de suas instâncias, mas não para ambas. Portanto, você precisará alterar isso para pelo menos uma de suas instalações.
Baixar SQL Server
Estas instruções pressupõem que você tenha o Docker instalado e em execução no seu Mac. Você precisa do Docker para executar o SQL Server no seu Mac (a menos que você opte por instalá-lo no Windows por meio de uma VM, mas não é isso que estamos fazendo aqui). Se você não tiver o Docker, vá para a seção “Instruções detalhadas” na parte inferior deste artigo.
Para baixar a imagem mais recente do SQL Server 2017, execute o seguinte comando:
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
Para baixar o SQL Server 2019 Preview, execute o seguinte comando:
sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
Observe que esta é a versão mais recente no momento da redação. Para obter a imagem mais recente, verifique o repositório oficial do SQL Server no site do Docker.
Execute os contêineres
Agora que ambas as imagens de contêiner foram baixadas, execute os seguintes comandos:
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
Altere o nome e a senha para seus próprios. Além disso, se você estiver usando uma versão diferente, altere o caminho de acordo.
Nesse caso, crio um contêiner do SQL Server 2017 e um contêiner do SQL Server 2019 e os mapeio para as portas TCP 1401 e 1402 na máquina host. Em ambas as instâncias, o SQL Server está escutando na porta 1433 no contêiner.
Isso é tudo. Agora você deve ter o SQL Server 2017 e o SQL Server 2019 rodando simultaneamente no seu Mac!
Conectando-se às suas instâncias do SQL Server
Você precisará anexar o número da porta ao se conectar a cada instância. Aqui está um exemplo de uso da ferramenta de linha de comando mssql-cli para se conectar à instância do SQL Server 2017:
mssql-cli -S Localhost,1401 -U sa -P BigStrong#Pwd2017
Algumas ferramentas GUI podem ter um campo separado para a porta. Caso contrário, você poderá usar o mesmo Localhost,1401 formato.
Instruções detalhadas
As instruções acima pressupõem que você tenha o Docker em seu Mac e que já tenha algum conhecimento de instalação e conexão ao SQL Server em um Mac. Se você não fizer isso, os dois artigos a seguir devem ajudar.
-
Instale o SQL Server (2017) em um Mac
Este artigo mostra como instalar o SQL Server usando a configuração de porta padrão (1433:1433). Inclui a instalação do Docker e a conexão com o SQL Server a partir de uma interface de linha de comando, bem como links para ferramentas GUI. - Este artigo mostra como instalar o SQL Server usando uma porta diferente (1400:1433). Na verdade, ele começa na porta padrão, mas mostra o erro que você obteria se tentasse executar duas instâncias na mesma porta. Em seguida, mostra como alterar essa porta (assim como no exemplo acima). Este artigo também inclui a instalação do Docker e a conexão com o SQL Server a partir de uma interface de linha de comando, bem como links para ferramentas GUI.