Como instalar Microsoft SQL Server no Linux

Você sabia que é possível instalar o Microsoft SQL Server no Linux? Pois bem, neste post vamos mostrar como fazer isso de maneira fácil.

Sem bla bla bla, vamos colocar a mão na massa.

Instalação do Microsoft SQL Server

  1. O método de instalação é via apt, portanto precisamos importar as chaves GPG no servidor:
cesar@coffops-labs:~$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

cesar@coffops-labs:~$ sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-preview.list)"
  1. Fazer a instalação do SQL Server, nosso caso será o 16.0:
cesar@coffops-labs:~$ sudo apt-get update

cesar@coffops-labs:~$ sudo apt-get install mssql-server
  1. Executar mssql-conf setup para completar a instalação:
cesar@coffops-labs:~$ sudo /opt/mssql/bin/mssql-conf setup
Choose an edition of SQL Server:
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum
  8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at
<https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409>

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 3 <============ Opção 3 para a versão Express (free)
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
<https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409>

The privacy statement can be viewed at:
<https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409>

Do you accept the license terms? [Yes/No]: Yes <====== Aceita os termos

Enter the SQL Server system administrator password:       <====== Define a senha do usuário sa
Confirm the SQL Server system administrator password:     <====== Confirma a senha do usuário sa
Configuring SQL Server...

This is an evaluation version.  There are [136] days left in the evaluation period.
The licensing PID was successfully processed. The new edition is [Express Edition].
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.
cesar@coffops-labs:~$
  1. Confira se a instalação foi feita corretamente:
cesar@coffops-labs:~$ systemctl status mssql-server --no-pager
● mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-07-05 03:53:24 UTC; 7min ago
       Docs: <https://docs.microsoft.com/en-us/sql/linux>
   Main PID: 708141 (sqlservr)
      Tasks: 146
     Memory: 948.0M
     CGroup: /system.slice/mssql-server.service
             ├─708141 /opt/mssql/bin/sqlservr
             └─708171 /opt/mssql/bin/sqlservr

Parece estar tudo ok com o nosso mais novo servidor SQL Server.

Instalar ferramenta de linha de comando e conectar no SQL Server

Para executar os primeiros comando no banco de dados vamos instalar o sqlcmd.

  1. Instalar mssql-tools
cesar@coffops-labs:~$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

cesar@coffops-labs:~$ curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

cesar@coffops-labs:~$ sudo apt-get update && sudo apt-get install mssql-tools unixodbc-dev

# Para adicionar o diretório da ferramenta no seu PATH
cesar@coffops-labs:~$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
  1. Para conectar usamos o -S para indicar o host do server e -U para informar o usuário. A senha será solicitada em seguida.
cesar@coffops-labs:~$ sqlcmd -S localhost -U sa
Password:
1>.    <======= Console aguardando entrada de comandos

Se as coisas estiverem indo bem nesse momento já podemos executar alguns comandos.

Se estiver executando o sqlcmd remotamente, indique o IP/host no parâmetro -S:

cesar@coffops-labs:~$ sqlcmd -S 10.0.0.10 -U sa
Password:
1>.    <======= Console aguardando entrada de comandos
IMPORTANTE: A porta padrão do SQL Server é a 1433, portante certifique-se de que ela está liberada no firewall da máquina e na rede.

Executando comandos e criando banco de dados

No sqlcmd os comando são executados somente após o comando GO. Veja o exemplo abaixo:

cesar@coffops-labs:~$ sqlcmd -S localhost -U sa
Password:
1> SELECT name FROM master.sys.databases
2> GO                <========= O select foi executado somente após o GO
name
--------------------------------------------------------------------------------
master
tempdb
model
msdb

(4 rows affected)
1> CREATE DATABASE CoffopsDB;
2> SELECT name FROM master.sys.databases;
3> GO         <========= O create e o select foram executados somente após o GO
name
--------------------------------------------------------------------------------
master
tempdb
model
msdb
CoffopsDB

(5 rows affected)
1>

Conectar via Azure Data Studio

Além do sqlcmd, é possível conectar no SQL Server via Azure Data Studio, Visual Studio Code, PowerShell, mssql-cli, SQL Server Management Studio (SSMS), SQL Server Data Tools (SSDT) ou ainda se cliente SQL preferido, desde que tenha o driver para SQL Server.

No Azure Data Studio selecione New Connection e preencha com os dados de acordo com o seu servidor.

Ao conectar você poderá ver a nossa base recém criada:

Fontes: https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-ver16 e https://docs.microsoft.com/en-us/sql/azure-data-studio/download-azure-data-studio?view=sql-server-ver16

Quer ver mais conteúdo sobre Linux? Então clique aqui.

Deixe um comentário

O seu endereço de e-mail não será publicado.