Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como executar o SQL Server 2017 e 2019 simultaneamente em um Mac


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.
  • Instale o SQL Server 2019 em um Mac

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