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
- 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)"
- 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
- 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:~$
- 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.
- 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
- 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.