Skip to content

Como usar o SQL Server no Linux através de contêiner.

Já faz algum tempo que o SQL Server está no linux e nem todos ainda sabem. No artigo de hoje eu explico como você DEV pode usar o SQL Server tanto em linux como no Mac.

Lembro como se fosse ontem, a Microsoft mostra aquela foto de amor com o Linux e logo a baixo avisa, SQL Server para Linux. Quase chorei quando vi isso. O choro foi de alegria, já fazia dois anos que eu estudava o .Net Core e mesmo sabendo que eu poderia rodar em Linux e Mac, ainda não sabia qual banco usar, já que o SQL Server na época não era cross-plataform.

E hoje o SQL Server está de fato no Linux e rodando, porem para Mac não existe e pode ser que para a sua distribuição Linux também não. Caso queira entender melhor sobre SQL Server agora ser cross-platform leia o link para melhor entendimento.

Mas você é DEV certo? Se você é DEV, eu não recomendo instalar em sua máquina. Minha recomendação é instalar o docker e através dele usar um contêiner SQL Server. Quando você instala, irá existir vários serviços sendo que quando não estiver trabalhando eles irão continuar lá sendo executados.

Então como eu uso um contêiner?

Primeiro, instale o docker, mesmo que você seja Linux, Mac ou Windows existe uma versão. Como eu instalo? Eu não vou informar aqui a instalação por que isso varia de SO para SO. Por isso de uma buscada.

Instalou? Pronto, agora podemos criar o contêiner SQL Server em sua máquina. Caso queira mais detalhes dessa imagem acesse o link.

> sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux:latest

Através do comando acima, você pode executar uma instância do SQL Server. Só para explicar melhor para quem ainda não entende de docker. 

  • docker run cria um contêiner.
  • -e são variáveis de ambiente necessárias para o SQL Server. Note que uma dessas variáveis chama SA_PASSWORD onde passamos o password “yourStrong(!)Password”. É com essa senha que você se conecta no SQL Server para o usuário SA. Fique a vontade para alterar.
  • -p é a porta que irá executar no container e seu computador. Note que está usando a porta padrão.
  • -d irá rodar em background
  •  microsoft/mssql-server-linux:latest é o nome da imagem no docker que irá criar um contêiner.

E agora, como eu vejo tudo funcionando?

Primeiro valide se o contêiner foi criado, para isso:

> sudo docker ps

No comando acima você deve visualizar o contêiner.

Outra alternativa é usar o Azure Data Studio, um cliente para SQL Server para Linux, Mac e Windows onde você visualiza instâncias, bancos, tabelas e outros objetos.

Através do link você consegue baixar e começar a usar.

Na imagem acima, vamos conectar a instância que está no contêiner do docker. Para isso eu estou informando o servidor=localhost, usuário=sa e a senha=yourStrong(!)Password. Tudo foi passado no docker run.

E agora? Use e seja feliz. Mas uma observação, quando você reiniciar sua maquina, a instancia não estará mais sendo executada, para isso, basta você olhar na lista de contêineres criados e pedir para iniciar novamente a imagem. Para isso:

> sudo docker ps -a

Algo do tipo vai vir como resposta:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
 b3cbab6020de microsoft/mssql-server-linux:latest "/opt/mssql/bin/sqls…" 8 days ago Up 6 hours 0.0.0.0:1433->1433/tcp sqlserver

Para inciar novamente basta você executar:

> sudo docker start b3c

Onde b3c é o ID do container. Isso varia de maquina para maquina.

Abraços e até a próxima.

Published inSQL Server

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *