
sqlservr-setup e o repositório do SLES 12. O SQL Server para Linux saiu em GA no mesmo ano. Em 2026 o produto corrente é o SQL Server 2025 (17.x) — e a Microsoft tirou o SLES da matriz. OpenSUSE Leap nunca foi plataforma oficial. O caminho suportado no Leap é o container; nativo fica no SLES 15 (SQL Server 2022) ou no Ubuntu/RHEL (2025).Em 2017 a Microsoft tinha acabado de soltar o SQL Server no Linux. O atalho da época era colar o .repo do SLES 12 no Leap 42.2 e rodar o setup. Nove anos depois o motor é o mesmo — T-SQL, porta 1433, usuário sa — mas o mapa de plataformas virou. Quem ainda tem Leap e quer SQL Server não instala o pacote RPM no host: sobe o container.
O que mudou desde o CTP
O SQL Server 2025 (17.x, GA em novembro de 2025, CU 8 em agosto de 2026) roda em produção nestas plataformas, sempre em x86-64, sistema de arquivos XFS ou ext4, mínimo de 2 GB de RAM:
- RHEL 9 e 10
- Ubuntu 22.04 e 24.04 (24.04 a partir do CU 1)
- Docker Engine 1.8+ (imagem baseada em Ubuntu, só host Intel/AMD — sem Rosetta, sem QEMU)
SLES saiu do 2025. Instalações de 2017/2019/2022 no SLES continuam suportadas até o fim de vida daquela versão. SQL Server 2022 ainda instala no SLES 15 SP6. OpenSUSE Leap, Tumbleweed e Btrfs nunca entraram na matriz: o Leap usa Btrfs por padrão, e Btrfs não é suportado pelo motor.
O comando de configuração deixou de ser sqlservr-setup. Desde a GA é /opt/mssql/bin/mssql-conf setup. As ferramentas de linha de comando são o pacote mssql-tools18 em /opt/mssql-tools18/bin — o sqlcmd 18 cifra a conexão por padrão; se o certificado do servidor for autoassinado, entra o -No (encryption optional).
Caminho 1 — Docker 2025 no openSUSE (o que faz sentido hoje)
É o único jeito suportado de ter SQL Server 2025 num Leap. A imagem é mcr.microsoft.com/mssql/server:2025-latest. O host pode ser Leap, Tumbleweed, Ubuntu, o que for — desde que seja x86-64 com Docker (ou Podman). Se Docker ainda não está no Leap, o curso de Docker cobre o básico; no Leap recente:
sudo zypper in docker
sudo systemctl enable --now docker
sudo usermod -aG docker "$USER" # relogue depois
Sobe o container. A variável antiga SA_PASSWORD está deprecada — use MSSQL_SA_PASSWORD. A senha precisa ter no mínimo 8 caracteres e três das quatro classes (maiúscula, minúscula, dígito, símbolo); senão o container sobe e morre, e o motivo só aparece no docker logs.
docker pull mcr.microsoft.com/mssql/server:2025-latest
docker run -e "ACCEPT_EULA=Y"
-e "MSSQL_SA_PASSWORD=SuaSenhaForte_123"
-p 1433:1433 --name sql1 --hostname sql1
-v sql1data:/var/opt/mssql
-d mcr.microsoft.com/mssql/server:2025-latest
docker ps
# STATUS precisa ser Up. Se for Exited:
docker logs sql1
O volume sql1data segura os dados em /var/opt/mssql. Sem volume, docker rm apaga o banco. A imagem já traz o sqlcmd 18:
docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd
-S localhost -U sa -P 'SuaSenhaForte_123' -No
Caminho 2 — nativo no Ubuntu 24.04 (SQL Server 2025)
Quem pode escolher o SO e quer o motor no systemd, sem container, vai de Ubuntu 24.04 (ou 22.04) / RHEL 9–10. Pacote mssql-server, setup interativo, mesma política de senha.
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc
| sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
curl -fsSL https://packages.microsoft.com/config/ubuntu/24.04/mssql-server-2025.list
| sudo tee /etc/apt/sources.list.d/mssql-server-2025.list
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
systemctl status mssql-server --no-pager
Ferramentas no Ubuntu 24.04:
curl -sSL -O https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y mssql-tools18 unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
Caminho 3 — nativo no SLES 15 (SQL Server 2022)
SLES 15 SP6 ainda é a casa do RPM. SQL Server 2022, não 2025. Ative os módulos Desktop Applications e Development Tools no SUSE Customer Center antes — o pacote depende deles. Disco em XFS ou ext4.
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2022.repo
sudo zypper --gpg-auto-import-keys refresh
sudo zypper install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
systemctl status mssql-server
Ferramentas:
sudo zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
sudo zypper install -y mssql-tools18 unixODBC-devel glibc-locale-base
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
Firewall, se for conectar de fora:
sudo zypper install -y firewalld
sudo systemctl start firewalld
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
Colar o .repo do SLES no Leap ainda funciona às vezes — e continua sendo o mesmo atalho extraoficial de 2017. Não é suporte Microsoft. Btrfs no root do Leap é o primeiro obstáculo.
sqlcmd e a primeira query
Vale para o container e para o pacote nativo. O -No evita a recusa de certificado autoassinado do sqlcmd 18.
sqlcmd -S localhost -U sa -P 'SuaSenhaForte_123' -No
CREATE DATABASE TestDB;
SELECT Name FROM sys.databases;
GO
USE TestDB;
CREATE TABLE dbo.Inventory (
id INT,
name NVARCHAR(50),
quantity INT,
PRIMARY KEY (id)
);
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
GO
SELECT * FROM dbo.Inventory WHERE quantity > 152;
GO
QUIT
Boas práticas depois do primeiro login: criar um login seu, colocar em sysadmin e desabilitar o sa. Senha do sa no Docker aparece em ps e no env do container — em produção troca na hora.
Como era em 2017 (Leap 42.2 / CTP 2.0)
O gist original, no Leap 42.2, pedia 3,25 GB de RAM, XFS/ext4, repositório do SLES 12 e o instalador que não existe mais. Fica aqui como registro — não rode isso num Leap atual.
## OpenSUSE 42.2 64 bits, root — SQL Server vNext CTP 2.0
zypper ar -fc https://packages.microsoft.com/config/sles/12/mssql-server.repo
zypper --gpg-auto-import-keys refresh
zypper in mssql-server
/opt/mssql/bin/sqlservr-setup
zypper ar -fc https://packages.microsoft.com/config/sles/12/prod.repo
zypper --gpg-auto-import-keys refresh
zypper in mssql-tools unixODBC-devel
ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/local/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp /usr/local/bin/bcp
O passo a passo da época está no gist.
Referencias
- Release notes do SQL Server 2025 no Linux — matriz de plataformas e a saída do SLES
- Quickstart: container 2025
- Quickstart: Ubuntu 24.04 / 2025
- Quickstart: SLES 15 / SQL Server 2022
- Curso de Docker grátis
- Vaultwarden no Docker — outro serviço self-hosted no mesmo estilo de volume + reverse proxy
- Samba 4 no OpenSUSE
O SQL Server no Linux deixou de ser novidade em 2017. O que mudou de verdade é a lista de distros: Leap ficou de fora, SLES parou no 2022, e o atalho honesto para quem insiste no gecko é o container 2025.