{"id":144,"date":"2017-04-05T23:23:28","date_gmt":"2017-04-06T02:23:28","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2017\/04\/sql-server-linux-setup-opensuse\/"},"modified":"2026-09-08T10:05:34","modified_gmt":"2026-09-08T13:05:34","slug":"sql-server-linux-setup-opensuse","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/en\/2017\/04\/sql-server-linux-setup-opensuse\/","title":{"rendered":"Instalando SQLServer no OpenSUSE"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro conectando o cabo ao banco de dados, com o camale\u00e3o do openSUSE ao lado\" src=\"\/wp-content\/uploads\/2026\/09\/sql-server-linux-v3.webp\" width=\"1486\" height=\"856\" \/><\/p>\n<div style=\"background:#fff8e1;border-left:4px solid #8b1a1a;padding:.8em 1em;margin:1em 0\"><strong>Nota (2026):<\/strong> Texto original de abril de 2017, ainda no <em>SQL Server vNext CTP 2.0<\/em> no OpenSUSE Leap 42.2, com o instalador <code data-no-translation=\"\">sqlservr-setup<\/code> e o reposit\u00f3rio do SLES 12. O SQL Server para Linux saiu em GA no mesmo ano. Em 2026 o produto corrente \u00e9 o <strong>SQL Server 2025 (17.x)<\/strong> \u2014 e a Microsoft <em>tirou<\/em> o SLES da matriz. OpenSUSE Leap nunca foi plataforma oficial. O caminho suportado no Leap \u00e9 o container; nativo fica no SLES 15 (SQL Server 2022) ou no Ubuntu\/RHEL (2025).<\/div>\n<p>Em 2017 a Microsoft tinha acabado de soltar o SQL Server no Linux. O atalho da \u00e9poca era colar o <code data-no-translation=\"\">.repo<\/code> do SLES 12 no Leap 42.2 e rodar o setup. Nove anos depois o motor \u00e9 o mesmo \u2014 T-SQL, porta 1433, usu\u00e1rio <code data-no-translation=\"\">sa<\/code> \u2014 mas o mapa de plataformas virou. Quem ainda tem Leap e quer SQL Server n\u00e3o instala o pacote RPM no host: sobe o container.<\/p>\n<p><!-- more --><\/p>\n<h2>O que mudou desde o CTP<\/h2>\n<p>O SQL Server 2025 (17.x, GA em novembro de 2025, CU 8 em agosto de 2026) roda em produ\u00e7\u00e3o nestas plataformas, sempre em <strong>x86-64<\/strong>, sistema de arquivos <strong>XFS ou ext4<\/strong>, m\u00ednimo de <strong>2 GB<\/strong> de RAM:<\/p>\n<ul>\n<li><strong>RHEL 9 e 10<\/strong><\/li>\n<li><strong>Ubuntu 22.04 e 24.04<\/strong> (24.04 a partir do CU 1)<\/li>\n<li><strong>Docker Engine 1.8+<\/strong> (imagem baseada em Ubuntu, s\u00f3 host Intel\/AMD \u2014 sem Rosetta, sem QEMU)<\/li>\n<\/ul>\n<p><strong>SLES saiu do 2025.<\/strong> Instala\u00e7\u00f5es de 2017\/2019\/2022 no SLES continuam suportadas at\u00e9 o fim de vida daquela vers\u00e3o. SQL Server 2022 ainda instala no SLES 15 SP6. OpenSUSE Leap, Tumbleweed e Btrfs nunca entraram na matriz: o Leap usa Btrfs por padr\u00e3o, e Btrfs <em>n\u00e3o<\/em> \u00e9 suportado pelo motor.<\/p>\n<p>O comando de configura\u00e7\u00e3o deixou de ser <code data-no-translation=\"\">sqlservr-setup<\/code>. Desde a GA \u00e9 <code data-no-translation=\"\">\/opt\/mssql\/bin\/mssql-conf setup<\/code>. As ferramentas de linha de comando s\u00e3o o pacote <code data-no-translation=\"\">mssql-tools18<\/code> in <code data-no-translation=\"\">\/opt\/mssql-tools18\/bin<\/code> \u2014 the <code data-no-translation=\"\">sqlcmd<\/code> 18 cifra a conex\u00e3o por padr\u00e3o; se o certificado do servidor for autoassinado, entra o <code data-no-translation=\"\">-No<\/code> (encryption optional).<\/p>\n<h2>Caminho 1 \u2014 Docker 2025 no openSUSE (o que faz sentido hoje)<\/h2>\n<p>\u00c9 o \u00fanico jeito suportado de ter SQL Server 2025 num Leap. A imagem \u00e9 <code data-no-translation=\"\">mcr.microsoft.com\/mssql\/server:2025-latest<\/code>. O host pode ser Leap, Tumbleweed, Ubuntu, o que for \u2014 desde que seja x86-64 com Docker (ou Podman). Se Docker ainda n\u00e3o est\u00e1 no Leap, o <a href=\"\/en\/2017\/08\/curso-de-docker-gratis\/\">curso de Docker<\/a> cobre o b\u00e1sico; no Leap recente:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo zypper in docker\nsudo systemctl enable --now docker\nsudo usermod -aG docker \"$USER\"   # relogue depois\n<\/code><\/pre>\n<p>Sobe o container. A vari\u00e1vel antiga <code data-no-translation=\"\">SA_PASSWORD<\/code> est\u00e1 deprecada \u2014 use <code data-no-translation=\"\">MSSQL_SA_PASSWORD<\/code>. A senha precisa ter no m\u00ednimo 8 caracteres e tr\u00eas das quatro classes (mai\u00fascula, min\u00fascula, d\u00edgito, s\u00edmbolo); sen\u00e3o o container sobe e morre, e o motivo s\u00f3 aparece no <code data-no-translation=\"\">docker logs<\/code>.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">docker pull mcr.microsoft.com\/mssql\/server:2025-latest\n\ndocker run -e \"ACCEPT_EULA=Y\" \n  -e \"MSSQL_SA_PASSWORD=SuaSenhaForte_123\" \n  -p 1433:1433 --name sql1 --hostname sql1 \n  -v sql1data:\/var\/opt\/mssql \n  -d mcr.microsoft.com\/mssql\/server:2025-latest\n\ndocker ps\n# STATUS precisa ser Up. Se for Exited:\ndocker logs sql1\n<\/code><\/pre>\n<p>O volume <code data-no-translation=\"\">sql1data<\/code> segura os dados em <code data-no-translation=\"\">\/var\/opt\/mssql<\/code>. Sem volume, <code data-no-translation=\"\">docker rm<\/code> apaga o banco. A imagem j\u00e1 traz o <code data-no-translation=\"\">sqlcmd<\/code> 18:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">docker exec -it sql1 \/opt\/mssql-tools18\/bin\/sqlcmd \n  -S localhost -U sa -P 'SuaSenhaForte_123' -No\n<\/code><\/pre>\n<h2>Caminho 2 \u2014 nativo no Ubuntu 24.04 (SQL Server 2025)<\/h2>\n<p>Quem pode escolher o SO e quer o motor no systemd, sem container, vai de Ubuntu 24.04 (ou 22.04) \/ RHEL 9\u201310. Pacote <code data-no-translation=\"\">mssql-server<\/code>, setup interativo, mesma pol\u00edtica de senha.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">curl -fsSL https:\/\/packages.microsoft.com\/keys\/microsoft.asc \n  | sudo gpg --dearmor -o \/usr\/share\/keyrings\/microsoft-prod.gpg\n\ncurl -fsSL https:\/\/packages.microsoft.com\/config\/ubuntu\/24.04\/mssql-server-2025.list \n  | sudo tee \/etc\/apt\/sources.list.d\/mssql-server-2025.list\n\nsudo apt-get update\nsudo apt-get install -y mssql-server\nsudo \/opt\/mssql\/bin\/mssql-conf setup\nsystemctl status mssql-server --no-pager\n<\/code><\/pre>\n<p>Ferramentas no Ubuntu 24.04:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">curl -sSL -O https:\/\/packages.microsoft.com\/config\/ubuntu\/24.04\/packages-microsoft-prod.deb\nsudo dpkg -i packages-microsoft-prod.deb\nsudo apt-get update\nsudo apt-get install -y mssql-tools18 unixodbc-dev\necho 'export PATH=\"$PATH:\/opt\/mssql-tools18\/bin\"' >> ~\/.bashrc\nsource ~\/.bashrc\n<\/code><\/pre>\n<h2>Caminho 3 \u2014 nativo no SLES 15 (SQL Server 2022)<\/h2>\n<p>SLES 15 SP6 ainda \u00e9 a casa do RPM. SQL Server 2022, n\u00e3o 2025. Ative os m\u00f3dulos Desktop Applications e Development Tools no SUSE Customer Center antes \u2014 o pacote depende deles. Disco em XFS ou ext4.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo rpm --import https:\/\/packages.microsoft.com\/keys\/microsoft.asc\nsudo zypper addrepo -fc https:\/\/packages.microsoft.com\/config\/sles\/15\/mssql-server-2022.repo\nsudo zypper --gpg-auto-import-keys refresh\nsudo zypper install -y mssql-server\nsudo \/opt\/mssql\/bin\/mssql-conf setup\nsystemctl status mssql-server\n<\/code><\/pre>\n<p>Ferramentas:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo zypper ar https:\/\/packages.microsoft.com\/config\/sles\/15\/prod.repo\nsudo zypper install -y mssql-tools18 unixODBC-devel glibc-locale-base\necho 'export PATH=\"$PATH:\/opt\/mssql-tools18\/bin\"' >> ~\/.bashrc\nsource ~\/.bashrc\n<\/code><\/pre>\n<p>Firewall, se for conectar de fora:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo zypper install -y firewalld\nsudo systemctl start firewalld\nsudo firewall-cmd --zone=public --add-port=1433\/tcp --permanent\nsudo firewall-cmd --reload\n<\/code><\/pre>\n<p>Colar o <code data-no-translation=\"\">.repo<\/code> do SLES no Leap <em>ainda funciona \u00e0s vezes<\/em> \u2014 e continua sendo o mesmo atalho extraoficial de 2017. N\u00e3o \u00e9 suporte Microsoft. Btrfs no root do Leap \u00e9 o primeiro obst\u00e1culo.<\/p>\n<h2>sqlcmd e a primeira query<\/h2>\n<p>Vale para o container e para o pacote nativo. O <code data-no-translation=\"\">-No<\/code> evita a recusa de certificado autoassinado do <code data-no-translation=\"\">sqlcmd<\/code> 18.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sqlcmd -S localhost -U sa -P 'SuaSenhaForte_123' -No\n<\/code><\/pre>\n<pre data-no-translation=\"\"><code class=\"language-sql\" data-no-translation=\"\">CREATE DATABASE TestDB;\nSELECT Name FROM sys.databases;\nGO\nUSE TestDB;\nCREATE TABLE dbo.Inventory (\n    id INT,\n    name NVARCHAR(50),\n    quantity INT,\n    PRIMARY KEY (id)\n);\nINSERT INTO dbo.Inventory VALUES (1, 'banana', 150);\nINSERT INTO dbo.Inventory VALUES (2, 'orange', 154);\nGO\nSELECT * FROM dbo.Inventory WHERE quantity &gt; 152;\nGO\nQUIT\n<\/code><\/pre>\n<p>Boas pr\u00e1ticas depois do primeiro login: criar um login seu, colocar em <code data-no-translation=\"\">sysadmin<\/code> e desabilitar o <code data-no-translation=\"\">sa<\/code>. Senha do <code data-no-translation=\"\">sa<\/code> no Docker aparece em <code data-no-translation=\"\">ps<\/code> e no env do container \u2014 em produ\u00e7\u00e3o troca na hora.<\/p>\n<h2>Como era em 2017 (Leap 42.2 \/ CTP 2.0)<\/h2>\n<p>O gist original, no Leap 42.2, pedia 3,25 GB de RAM, XFS\/ext4, reposit\u00f3rio do SLES 12 e o instalador que n\u00e3o existe mais. Fica aqui como registro \u2014 n\u00e3o rode isso num Leap atual.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">## OpenSUSE 42.2 64 bits, root \u2014 SQL Server vNext CTP 2.0\nzypper ar -fc https:\/\/packages.microsoft.com\/config\/sles\/12\/mssql-server.repo\nzypper --gpg-auto-import-keys refresh\nzypper in mssql-server\n\/opt\/mssql\/bin\/sqlservr-setup\n\nzypper ar -fc https:\/\/packages.microsoft.com\/config\/sles\/12\/prod.repo\nzypper --gpg-auto-import-keys refresh\nzypper in mssql-tools unixODBC-devel\nln -sfn \/opt\/mssql-tools\/bin\/sqlcmd \/usr\/local\/bin\/sqlcmd\nln -sfn \/opt\/mssql-tools\/bin\/bcp \/usr\/local\/bin\/bcp\n<\/code><\/pre>\n<p>O passo a passo da \u00e9poca est\u00e1 no <a href=\"https:\/\/gist.github.com\/jniltinho\/c67a9e85c651e187d2da2f0a813fe46a\">gist<\/a>.<\/p>\n<h2>References<\/h2>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/linux\/sql-server-linux-release-notes-2025?view=sql-server-ver17\">Release notes do SQL Server 2025 no Linux<\/a> \u2014 matriz de plataformas e a sa\u00edda do SLES<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/linux\/quickstart-install-connect-docker?view=sql-server-ver17\">Quickstart: container 2025<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/linux\/quickstart-install-connect-ubuntu?view=sql-server-ver17\">Quickstart: Ubuntu 24.04 \/ 2025<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/linux\/quickstart-install-connect-suse?view=sql-server-ver16\">Quickstart: SLES 15 \/ SQL Server 2022<\/a><\/li>\n<li><a href=\"\/en\/2017\/08\/curso-de-docker-gratis\/\">Curso de Docker gr\u00e1tis<\/a><\/li>\n<li><a href=\"\/en\/2026\/09\/vaultwarden-bitwarden-self-hosted\/\">Vaultwarden no Docker<\/a> \u2014 outro servi\u00e7o self-hosted no mesmo estilo de volume + reverse proxy<\/li>\n<li><a href=\"\/en\/2017\/04\/samba4-setup-opensuse\/\">Samba 4 no OpenSUSE<\/a><\/li>\n<\/ul>\n<p>O SQL Server no Linux deixou de ser novidade em 2017. O que mudou de verdade \u00e9 a lista de distros: Leap ficou de fora, SLES parou no 2022, e o atalho honesto para quem insiste no gecko \u00e9 o container 2025.<\/p>","protected":false},"excerpt":{"rendered":"<p>Em 2017 a Microsoft tinha acabado de soltar o SQL Server no Linux. O atalho da \u00e9poca era colar o .repo do SLES 12 no Leap 42.2 e rodar o setup. Nove anos depois o motor \u00e9 o mesmo \u2014 &#8230; <a title=\"Instalando SQLServer no OpenSUSE\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/en\/2017\/04\/sql-server-linux-setup-opensuse\/\" aria-label=\"Read more about Instalando SQLServer no OpenSUSE\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,83,120],"tags":[156,14,4,85,90],"class_list":["post-144","post","type-post","status-publish","format-standard","hentry","category-linux","category-opensuse","category-servidores","tag-docker","tag-howto","tag-linux","tag-opensuse","tag-sqlserver"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":6,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/144\/revisions"}],"predecessor-version":[{"id":1313,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/144\/revisions\/1313"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/media?parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/categories?post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/tags?post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}