
Nesta postagem compartilho os scripts utilizados na minha palestra no The Developers Conference de Porto Alegre onde falei sobre SQL Server em Containers.
Para mais informações sobre a palestra e os slides apresentados clique aqui.
A demo consiste em instalar o SQL Server em um Container do Docker, Criar uma database e uma tabela, inserir registros nessa tabela e consultá-los, além de acessar os logs do SQL Server, tudo isso via linha de comando no Docker.
Para realizar a demo eu utilizei o MobaXterm, uma aplicação portable para Windows que disponibiliza um terminal Unix/Linux, também poderia ser utilizado próprio PuTTY por exemplo.
Com o Docker já instalado em sua VM Linux, execute o comando abaixo para fazer o download e instalação do seu Container com o SQL Server 2019 (Figura 01):
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=tdcPOA@123456" \ -p 1433:1433 --name TDCPOA -h \ -d mcr.microsoft.com/mssql/server:2019-latest
Parâmetros:
-e “ACCEPT_EULA=Y” | Aceitação dos termos de licença. |
-e “SA_PASSWORD=<YourStrong@Passw0rd\>” | Define a senha do login SA no SQL Server, segue os requisitos padrões de senha. |
-p 1433:1433 | Mapeia uma porta TCP no host e no Container. |
–name TDCPOA | Utilizado para definir o nome do Container |
-h TDC | Utilizado para setar o hostname do Container, se não for preenchido ele seta o ID do Container. |
-d | Executa o procedimento em background (daemon). |
mcr.microsoft.com/mssql/server:2019-latest | Imagem do Container com a versão do SQL Server 2019. |
Vai obter um resultado parecido com este:

Para confirmar a instalação do seu SQL Server no Docker, execute o comando abaixo para validar o status do seu Container (Figura 02):
docker ps -a

Conforme pode ver, o meu Container está “Up 2 minutes”, agora é o momento de acessar o SQL via Docker, para isso conecte em seu SQL Server dentro do Container e chame pelo SQLCMD (Figura 03):
1º: sudo docker exec -it TDCPOA "bash" 2º: /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "tdcPOA@123456"

Agora você já está acessando o seu SQL Server 2019 a partir de um container Docker e utilizando o SQLCMD, ou seja, você pode fazer qualquer procedimento via T-SQL, na demonstração feita na palestra eu criei uma database, inseri dados e consultei eles conforme abaixo:

Para acessar as logs do SQL Server, basta você pegar o ID do seu container (você tem essa informação com o comando “docker ps -a”) e digitar (Figura 04):
docker logs ID_CONTAINER

Assim concluímos todos os passos utilizados para a demo na palestra no TDC de Porto Alegre!
Caso tenham alguma dúvida em algum procedimento pode entrar em contato comigo!
Até a próxima!
Pingback: [Arquivo] Palestra The Dev Conference – Porto Alegre | Leonardo Fonseca